@@ -2,13 +2,13 @@ import { streamText, UIMessage, convertToModelMessages } from "ai";
22import { getModel , requiresApiKey , type AIProvider } from "@/lib/ai/models" ;
33import { buildSystemMessage } from "@/lib/ai/prompt" ;
44
5- // Allow streaming responses up to 30 seconds
5+ // 流式响应最长30秒
66export const maxDuration = 30 ;
77
88interface ChatRequest {
99 messages : UIMessage [ ] ;
10- system ?: string ; // System message forwarded from AssistantChatTransport
11- tools ?: unknown ; // Frontend tools forwarded from AssistantChatTransport
10+ system ?: string ;
11+ tools ?: unknown ;
1212 pageContext ?: {
1313 title ?: string ;
1414 description ?: string ;
@@ -25,11 +25,11 @@ export async function POST(req: Request) {
2525 messages,
2626 system,
2727 pageContext,
28- provider = "openai " , // Default to OpenAI
28+ provider = "intern " , // 默认使用书生模型
2929 apiKey,
3030 } : ChatRequest = await req . json ( ) ;
3131
32- // Validate API key for providers that require it
32+ // 对指定Provider验证key是否存在
3333 if ( requiresApiKey ( provider ) && ( ! apiKey || apiKey . trim ( ) === "" ) ) {
3434 return Response . json (
3535 {
@@ -40,13 +40,13 @@ export async function POST(req: Request) {
4040 ) ;
4141 }
4242
43- // Build system message with page context
43+ // 构建系统消息,包含页面上下文
4444 const systemMessage = buildSystemMessage ( system , pageContext ) ;
4545
46- // Get AI model instance based on provider
46+ // 根据Provider获取 AI 模型实例
4747 const model = getModel ( provider , apiKey ) ;
4848
49- // Generate streaming response
49+ // 生成流式响应
5050 const result = streamText ( {
5151 model : model ,
5252 system : systemMessage ,
@@ -57,7 +57,7 @@ export async function POST(req: Request) {
5757 } catch ( error ) {
5858 console . error ( "Chat API error:" , error ) ;
5959
60- // Handle specific model creation errors
60+ // 处理特定模型创建错误
6161 if ( error instanceof Error && error . message . includes ( "API key" ) ) {
6262 return Response . json ( { error : error . message } , { status : 400 } ) ;
6363 }
0 commit comments