exports.messageGPT = onRequest(async (request, response) => {
const apiKey = await getApiKey();
const openai = new OpenAI({ apiKey });
try {
const stream = await openai.chat.completions.create({
model: 'gpt-4',
messages: [{ role: 'user', content: request.body.message }],
stream: true,
});
for await (const chunk of stream) {
const content = chunk.choices[0]?.delta?.content || '';
if (content) {
response.write(`data: ${content}\n\n`);
}
}
} catch (error) {
logger.error("Error during GPT-4 request", error);
response.status(500).send("An error occurred");
}
logger.info("GPT-4 response", result.choices[0].message?.content);
response.send(result.choices[0].message?.content);
});