A função communicateWithOpenAI
é responsável por enviar mensagens para a API da OpenAI e retornar as respostas correspondentes. Aqui está uma explicação de cada parte da função:
getApiKey
do arquivo 'apiKey.js'.export const communicateWithOpenAI = async (messages) => {
const url = '<https://api.openai.com/v1/chat/completions>';
const api_key = getApiKey();
try {
const response = await fetch(url, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${api_key}`
},
body: JSON.stringify({
model: "gpt-3.5-turbo",
messages
})
});
if (!response.ok) {
const errorMessage = `Failed to fetch. Status code: ${response.status}`;
throw new Error(errorMessage);
}
const data = await response.json();
if (!data.choices || data.choices.length === 0 || !data.choices[0].message || !data.choices[0].message.content) {
throw new Error('No valid messages found in API response');
}
return {
success: true,
content: data.choices[0].message.content,
};
} catch (error) {
console.error('Ocorreu um erro:', error.message);
throw error;
}
};