ai-lawyer-agent/frontend/app/api/chat/route.ts

32 lines
686 B
TypeScript

import { openai } from "@ai-sdk/openai";
import { frontendTools } from "@assistant-ui/react-ai-sdk";
import {
JSONSchema7,
streamText,
convertToModelMessages,
type UIMessage,
} from "ai";
export async function POST(req: Request) {
const {
messages,
system,
tools,
}: {
messages: UIMessage[];
system?: string;
tools?: Record<string, { description?: string; parameters: JSONSchema7 }>;
} = await req.json();
const result = streamText({
model: openai("gpt-5-nano"),
messages: await convertToModelMessages(messages),
system,
tools: {
...frontendTools(tools ?? {}),
},
});
return result.toUIMessageStreamResponse();
}