import { DEFAULT_SYSTEM_PROMPT, DEFAULT_TEMPERATURE } from '@/utils/app/const'; import { OllamaError, OllamaStream } from '@/utils/server'; import { ChatBody, Message } from '@/types/chat'; export const config = { runtime: 'edge', }; const handler = async (req: Request): Promise => { try { const { model, system, options, prompt } = (await req.json()) as ChatBody; let promptToSend = system; if (!promptToSend) { promptToSend = DEFAULT_SYSTEM_PROMPT; } let temperatureToUse = options?.temperature; if (temperatureToUse == null) { temperatureToUse = DEFAULT_TEMPERATURE; } const stream = await OllamaStream (model, promptToSend, temperatureToUse, prompt); return new Response(stream); } catch (error) { console.error(error); if (error instanceof OllamaError) { return new Response('Error', { status: 500, statusText: error.message }); } else { return new Response('Error', { status: 500 }); } } }; export default handler;