Vercel 发布了 AI SDK 5,这是一个用于构建全栈 AI 应用的开发工具包,它在前代基础上进行了全面升级,提供了更强大的功能、更高的灵活性和更好的开发体验。
以下是 AI SDK 5 的主要更新内容:
聊天功能
- 彻底重建:引入了两种不同的消息类型——
UIMessage
和ModelMessage
,解决了开发者在状态管理和聊天历史持久化方面的挑战。UIMessage
是应用程序状态的“真实来源”,包含所有消息、元数据和工具结果,推荐用于持久化存储;ModelMessage
则是为语言模型优化的简化表示。 - 类型安全:开发者可以创建自定义的
UIMessage
类型,并在服务器和客户端之间传递,实现端到端的完全类型安全。 - 流式传输:引入了
Data Parts
功能,允许开发者发送自定义数据块,如状态更新或部分工具结果,同时保持代码的可维护性。
Agent 构建
- 精确的执行流控制:
stopWhen
参数允许开发者定义工具调用循环的停止条件,例如达到特定步数或调用了某个特定工具;prepareStep
钩子则允许在每一步执行前动态调整参数,如更换模型、修改系统提示或启用/禁用特定工具。 - 面向对象封装:新增的
Agent
类为构建 Agent 提供了面向对象的封装。
语音功能
- 统一提供商抽象:通过
experimental_generateSpeech
和experimental_transcribe
API,为 OpenAI、ElevenLabs、DeepGram 等提供商的语音生成和转录服务提供了统一、类型安全的接口。
工具调用增强
- 动态工具:支持动态工具、提供商执行的工具(如 OpenAI 的网页搜索)以及更精细的生命周期钩子。
其他更新
- 流媒体协议:将
SSE
作为标准的流媒体协议。 - 全局提供商:引入全局提供商(默认为 Vercel AI Gateway),简化模型 ID 的使用。
- 访问原始数据:支持访问原始请求和响应数据以增强调试和控制能力。
- Zod 4 支持:增加了对 Zod 4 的支持。
- 迁移工具:为帮助用户平滑迁移,Vercel 提供了自动化的代码修改工具(
codemods
)。
点此查看发布说明。