{"repo": "agreenbird1/nuxt-chatgpt", "files": {"server/api/chat.ts": {"5186fa0d35e53ecf612d87712f544ff18ee85b4b": {"t": 1785746041.32205, "n": 1069, "h": "753aa6c1ec1f84b0", "c": "import OpenAI from 'openai'\n\nexport default defineEventHandler(async (event) => {\n const runtimeConfig = useRuntimeConfig()\n const openai = new OpenAI({\n baseURL: 'https://api.deepseek.com',\n apiKey: runtimeConfig.deepseekApiKey,\n })\n const { messages } = await readBody(event)\n const completion = await openai.chat.completions.create({\n messages,\n model: 'deepseek-chat',\n stream: true,\n })\n setHeader(event, 'Content-Type', 'text/event-stream')\n setHeader(event, 'Cache-Control', 'no-cache')\n setHeader(event, 'Connection', 'keep-alive')\n\n const stream = new ReadableStream({\n async start(controller) {\n const encoder = new TextEncoder()\n for await (const chunk of completion) {\n const delta = chunk.choices?.[0]?.delta?.content\n if (delta) {\n controller.enqueue(\n encoder.encode(`data: ${JSON.stringify({ text: delta })}\\n\\n`)\n )\n }\n }\n controller.enqueue(encoder.encode(`data: [DONE]\\n\\n`))\n controller.close()\n },\n })\n\n return sendStream(event, stream)\n})\n"}}}}