ai-sdk-next-openai/app/api/use-chat-persistence-single-message/route.ts
2025-09-26 15:46:29 +00:00

24 lines
686 B
TypeScript

import { openai } from '@ai-sdk/openai';
import { loadChat, saveChat } from '@util/chat-store';
import { convertToModelMessages, streamText, UIMessage } from 'ai';
export async function POST(req: Request) {
const { message, chatId }: { message: UIMessage; chatId: string } =
await req.json();
const previousMessages = await loadChat(chatId);
const messages = [...previousMessages, message];
const result = streamText({
model: openai('gpt-4o-mini'),
messages: convertToModelMessages(messages),
});
return result.toUIMessageStreamResponse({
originalMessages: messages,
onFinish: ({ messages }) => {
saveChat({ chatId, messages });
},
});
}