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 提供 streamTextgenerateTextgenerateObject 等核心函数,这些函数接受一个 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 文本生成与流式响应

通过 streamTextgenerateText 实现 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 应用。

下一步

参考资源

学习文档整合站点