流式 React 组件
把 LLM 的回复直接流式渲染为 React Server Components,而不是纯文本或 Markdown,界面可以随生成过程逐步呈现。
官方说明 ↗拖动滑块完成拼图,通过后发送验证码
独立第三方 AI 评测平台 · 只用实测数据
把 LLM 输出直接流式渲染成 React 组件的 AI SDK
Vercel AI SDK 3.0 是 Vercel 在开源 v0.dev 生成式 UI 技术时发布的开发工具,让开发者把大模型的回复从纯文本、Markdown 升级为可流式输出的 React Server Components。它的核心是 ai/rsc 中的 render 方法:把模型的 Tools 或 Function Calling 映射到具体的 React 组件,比如查询城市天气时先渲染 Spinner,再返回 Weather 组件。由于依托 React Server Components,界面组件无需大量客户端 JavaScript,交互性和性能更可控。当前主要限制是依赖 Next.js:新的 API 依赖目前只在 Next.js 中实现的 RSC 与 Server Actions,Remix、Waku 等框架要等各自实现完成才能使用。
Vercel AI SDK 3.0 是 Vercel 发布的 AI 开发工具包版本,定位是把大模型的输出从聊天式文本扩展到组件化的界面。它开源了 v0.dev 背后的生成式 UI 技术,让开发者可以构建比纯文本、Markdown 更丰富的 LLM 交互界面。
在能力上,SDK 3.0 通过 ai/rsc 的 render 方法把 LLM 回复与流式 React Server Components 关联起来。开发者可以传入 provider、model、messages,并用 text 回调把文本内容渲染成组件;如果模型支持 OpenAI 兼容的 Functions 或 Tools,还能用 tools 参数把具体调用映射到 React Server Components,例如查询城市天气时先 yield 一个 Spinner,再返回 Weather 组件。
使用方式上,普通开发者可以直接从 demo 和文档入手体验生成式 UI 效果;熟悉 React 与 Next.js 的开发者可以基于新 API 构建 AI 原生应用;团队则可以借此把 AI 功能融入现有应用,而不必自己处理大量客户端 JavaScript。
把 LLM 的回复直接流式渲染为 React Server Components,而不是纯文本或 Markdown,界面可以随生成过程逐步呈现。
官方说明 ↗ai/rsc 提供 render 方法,接收 provider、model、messages 等参数,用 text 回调把模型返回的文本内容渲染成指定组件。
官方说明 ↗模型支持 OpenAI 兼容的 Functions 或 Tools 时,可用 tools 参数把具体调用映射到 React Server Components,实现实时数据查询与自定义 UI 渲染。
官方说明 ↗工具调用过程中可以先用 yield 返回 Spinner 等占位组件,等异步数据取回后再返回最终组件,让等待过程有明确反馈。
官方说明 ↗依托 React Server Components,UI 组件可直接从 LLM 流式输出,不需要沉重的客户端 JavaScript,应用更交互、更响应且不牺牲性能。
官方说明 ↗如果你已经用 Next.js 和 React 做产品,想把聊天式 AI 升级成能渲染实时数据、自定义组件的界面,AI SDK 3.0 的 render 方法与 Tools 映射能省掉大量手写 UI 状态的工作,值得一试。它把「模型返回什么组件」和「组件如何渲染数据」这套逻辑收进一个方法里。但如果你的技术栈是 Remix、Waku 或其他尚未实现 RSC 的框架,目前还用不了这套生成式 UI 能力;不熟悉 React Server Components 的团队也需要先补这块知识。
已有 Next.js 项目、想把 AI 对话升级为可渲染组件和实时数据的界面,可以直接复用新 API。
需要给模型输出配上可交互的卡片、图表等组件,又不希望客户端 JavaScript 过重,适合用 RSC 流式渲染。
框架尚未完成 RSC 实现,当前无法使用生成式 UI 能力,需等框架符合 React 规范后再接入。
整套能力围绕 React Server Components 与组件渲染,不做 React 前端的话用不上这套生成式 UI 方案。
AI SDK 3.0 的新 API 依赖 React Server Components 与 React Server Actions,这两项目前只在 Next.js 中实现。不过它们并不依赖 Next.js 的内部特性,当 Remix、Waku 等 React 框架完成各自的 RSC 实现后,只要符合 React 规范也可以用来做生成式 UI。
纯文本聊天只能返回文字或 Markdown,AI SDK 3.0 则把 LLM 回复关联到流式 React Server Components,可以直接渲染自定义界面。比如问「What is the weather in SF?」,工具调用会先 yield 一个 Spinner,取到实时天气后再返回 Weather 组件,把实时数据和组件化界面一起给到用户。
如果模型支持 OpenAI 兼容的 Functions 或 Tools,就可以用新的 render 方法把具体调用映射到 React Server Components。博客示例中使用的模型是 gpt-4-0125-preview,并通过 zod 定义工具参数。
博客提供了 demo 可以先看生成式 UI 的实际效果,也给出了文档入口预览新 API。代码层面可以从 ai/rsc 导入 render,先跑通只传 provider、model、messages 和 text 回调的基础示例,再加入 tools 做工具映射。