Skip to content

AI SDK 概览 ​

Vercel AI SDK 是一个 TypeScript 工具包,帮助你使用 React、Next.js、Vue、Svelte、Node.js 等框架构建 AI 驱动的应用程序。它提供统一的 API 调用各大模型厂商,并内置流式 UI 集成,让前端开发者无需切换技术栈即可构建生产级 AI 应用。

1. AI SDK 是什么 ​

1.1 一句话定义 ​

AI SDK 是一个 TypeScript 原生的 AI 开发工具包,提供从服务端模型调用到前端 UI 渲染的全链路解决方案,让你用熟悉的 React/Next.js 技术栈快速构建 AI 应用。

1.2 三层架构 ​

AI SDK 由三个核心层次组成,各层职责清晰、可独立使用:

层次包名职责运行环境
AI SDK Coreai文本生成、结构化输出、工具调用、嵌入向量服务端(Node.js / Edge)
AI SDK UI@ai-sdk/react聊天 Hook、流式渲染、状态管理浏览器(React / Vue / Svelte)
Provider 系统@ai-sdk/openai 等模型厂商适配、统一接口抽象服务端

前端类比

把 AI SDK 三层架构类比为前端技术栈:AI SDK Core ≈ 后端 API 层(类似 tRPC 的服务端过程调用),AI SDK UI ≈ TanStack Query / SWR(前端数据获取与状态管理 Hook),Provider 系统 ≈ 数据库驱动 / ORM 适配器(一套接口、多种实现)。

AI SDK 原生语义:AI SDK Core 提供 streamText、generateText、generateObject 等核心函数,这些函数接受一个 model 参数(来自 Provider)和 messages/prompt,返回统一格式的结果。AI SDK UI 的 useChat Hook 自动管理消息历史、流式状态和错误处理,通过 HTTP 流协议与 Core 层通信。Provider 系统将不同厂商的 API 差异抽象为统一的 LanguageModel 接口。

1.3 生态定位:AI SDK vs LangChain/LangGraph ​

维度AI SDKLangChain / LangGraph
语言TypeScript 原生Python 原生(有 JS 版但非主力)
目标用户前端 / 全栈开发者后端 / AI 工程师
核心优势前端 UI 集成、流式渲染、React HooksAgent 编排、复杂工作流、持久化
框架集成Next.js / Nuxt / SvelteKit 深度集成框架无关,偏后端服务
学习曲线低——前端开发者即学即用中——需理解 Agent/Graph 等 AI 概念
适用场景聊天 UI、生成式 UI、AI 增强 Web 应用复杂 Agent、多步推理、RAG 管道

简单选择标准:

  • 如果你是前端开发者,想快速给 Web 应用加上 AI 能力 → 用 AI SDK
  • 如果你需要构建复杂的多步骤 Agent 工作流 → 用 LangChain/LangGraph
  • 两者可以互补:AI SDK 做前端 UI + LangGraph 做后端编排

2. 核心能力概览 ​

2.1 文本生成与流式响应 ​

通过 streamText 和 generateText 实现 LLM 文本生成,内置流式传输支持:

typescript
import { streamText } from 'ai'
import { openai } from '@ai-sdk/openai'

const result = streamText({
  model: openai('gpt-4o'),
  prompt: '用一段话解释什么是 React Server Components',
})

for await (const chunk of result.textStream) {
  process.stdout.write(chunk)
}

2.2 结构化输出 ​

让 LLM 返回符合 Zod Schema 的结构化数据,告别手动 JSON 解析:

typescript
import { generateObject } from 'ai'
import { openai } from '@ai-sdk/openai'
import { z } from 'zod'

const { object } = await generateObject({
  model: openai('gpt-4o'),
  schema: z.object({
    name: z.string(),
    pros: z.array(z.string()),
    cons: z.array(z.string()),
  }),
  prompt: '分析 TypeScript 的优缺点',
})

2.3 工具调用(Tool Calling) ​

定义工具让 LLM 自动调用外部 API、数据库等:

typescript
import { generateText, tool } from 'ai'
import { openai } from '@ai-sdk/openai'
import { z } from 'zod'

const result = await generateText({
  model: openai('gpt-4o'),
  tools: {
    weather: tool({
      description: '获取城市天气',
      parameters: z.object({ city: z.string() }),
      execute: async ({ city }) => {
        // 调用天气 API
        return { city, temp: '22°C', condition: '晴' }
      },
    }),
  },
  prompt: '北京今天天气怎么样?',
})

2.4 前端 UI 集成 ​

通过 useChat Hook 几行代码构建聊天界面:

tsx
'use client'
import { useChat } from '@ai-sdk/react'

export default function Chat() {
  const { messages, sendMessage } = useChat()
  // 自动管理消息历史、流式状态、错误处理
}

2.5 多 Provider 统一接口 ​

一行代码切换模型厂商,无需改动业务逻辑:

typescript
import { openai } from '@ai-sdk/openai'
import { anthropic } from '@ai-sdk/anthropic'
import { google } from '@ai-sdk/google'

// 切换 Provider 只需换一行
const model = openai('gpt-4o')
// const model = anthropic('claude-sonnet-4-5-20250929')
// const model = google('gemini-2.0-flash')

3. 学习路径 ​

建议按以下顺序学习本教程:

阶段内容目标
入门安装配置、快速上手、基础概念跑通第一个 AI 聊天应用
核心 API文本生成、结构化输出、工具调用、嵌入向量掌握服务端 AI 调用
前端集成useChat、生成式 UI、流式数据构建 AI 增强的前端界面
AgentAgent 模式、工作流、多步推理构建智能体应用
进阶Provider 选型、中间件、缓存、部署上线生产级应用

4. 前置知识 ​

开始学习 AI SDK 前,建议具备以下基础:

  • TypeScript 基础:类型、泛型、async/await、Zod schema
  • React 基础:Hooks、组件、状态管理(使用 UI 层时需要)
  • Next.js 基础:App Router、Route Handler、Server Components(快速上手教程基于 Next.js)
  • LLM 基本概念:了解什么是大语言模型、prompt、token

不需要有 AI/ML 背景。AI SDK 的设计目标就是让前端开发者用最熟悉的方式构建 AI 应用。

下一步 ​

参考资源 ​

学习文档整合站点