本技能提供 Vercel AI SDK v5 在生产聊天机器人中的使用模式参考。用途:聊天持久化(Drizzle/PostgreSQL)、生成式 UI 与类型化工具部件、自定义数据流式传输、类型定义、Anthropic 与推理配置,cookbook/ 目录含可运行示例。核心架构为客户端 useChat → API 路由 streamText → 数据库 Drizzle,并回流 UIMessageStream。主要导入包括 ai 的 streamText、convertToModelMessages、UIMessage、createUIMessageStream、createUIMessageStreamResponse,@ai-sdk/react 的 useChat,ai 的 DefaultChatTransport,以及 @ai-sdk/anthropic 的 anthropic。选择方式:简单文本用 streamText().toUIMessageStreamResponse();需自定义数据部件用 createUIMessageStream() + writer.write();两者兼用则 writer.merge(result.toUIMessageStream())。工具执行位置依需求选择服务端 execute、客户端确认或客户端自动运行。数据附加可用 messageMetadata、数据部件或临时部件。命名约定统一使用 agents 而非 chats,如 agents 表、agentId 外键、createAgent() 等,目录按 features/agents 与 db/ 组织。必要模式包括仅发送最后一条消息、在 onFinish 中持久化、用 result.consumeStream()(不 await)处理断连、以及用 ToolSet 与 InferUITools 做类型安全工具。常见坑:工具部件类型为 tool-${toolName},数据部件需 id 以复用同一部件,临时部件只出现在 onData,使用自定义 start 时设 sendStart: false。缺失信息:许可与依赖版本暂未提供。
vercel-ai-sdk-v5
数据与分析
更新于 10-15 22:14