Struggling to get this cloud function to respond with JSON

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);

});