SuperAPI AI 工具集

ai-sdk-5

通用与其它

查看项目

更新于 10-16 04:35

技能介绍

用途:整理 Vercel AI SDK 5 的常见开发模式,帮助在构建聊天、流式输出、工具(函数)调用等 AI 功能时使用 v5 写法,并处理从 AI SDK 4 的迁移。

主要能力与变更:

  1. 客户端 Hook 迁移:useChat 从 "ai" 改为从 "@ai-sdk/react" 导入,并改用 transport 配置,例如 new DefaultChatTransport({ api: "/api/chat" });发送消息由 handleSubmit 改为 sendMessage({ text: input })。
  2. UIMessage 结构变化:message.content 字符串改为 message.parts 数组,part 类型包括 text、image、tool-call、tool-result;提取文本需过滤 type === "text" 后拼接。
  3. 服务端路由:使用 streamText 配合模型(如 openai("gpt-4o")),返回 result.toDataStreamResponse()。
  4. 工具调用:在 streamText 的 tools 中用 tool({ description, parameters: z.object(...), execute }) 定义,参数校验使用 zod。
  5. 文本补全:useCompletion 配合 DefaultCompletionTransport 使用,调用 complete(...) 触发。
  6. LangChain 集成:通过 @ai-sdk/langchain 的 toUIMessageStream 将 LangChain 流转换为 UI 消息流。
  7. 错误处理:useChat 支持 onError 回调,并可读取 error 展示与重试。

使用方式:按上述模式在 React 客户端引入 @ai-sdk/react 的 Hook,在服务端路由(如 app/api/chat/route.ts)用 streamText 处理请求并返回数据流响应。

适用场景:基于 Next.js/React 构建聊天界面、流式文本生成、带工具调用的 AI 功能,以及从 AI SDK 4 升级到 5 的项目。

限制:资料仅提供代码模式示例,未说明版本兼容范围、依赖安装命令、收费或性能数据,这些暂未提供。