import { Message, OpenAIModel } from "@/types"; import { OpenAIStream } from "@/utils"; export const config = { runtime: "edge" }; const handler = async (req: Request): Promise => { try { const { model, messages, key } = (await req.json()) as { model: OpenAIModel; messages: Message[]; key: string; }; const charLimit = 12000; let charCount = 0; let messagesToSend = []; for (let i = 0; i < messages.length; i++) { const message = messages[i]; if (charCount + message.content.length > charLimit) { break; } charCount += message.content.length; messagesToSend.push(message); } const stream = await OpenAIStream(model, key, messagesToSend); return new Response(stream); } catch (error) { console.error(error); return new Response("Error", { status: 500 }); } }; export default handler;