Skip to content

安装与配置

本页指导你完成 AI SDK 的安装和基础配置,包括依赖安装、环境变量设置和项目结构建议。

1. 前置要求

依赖最低版本说明
Node.js18+推荐 20 LTS 或更高
TypeScript5.0+AI SDK 深度依赖 TS 类型推导
包管理器pnpm / npm / yarn / bun推荐 pnpm
React18+使用 AI SDK UI 时需要
Next.js14+快速上手教程基于 App Router

前端类比

AI SDK 的环境要求和前端项目完全一致——Node.js + TypeScript + 你熟悉的框架。不需要安装 Python、CUDA 或任何 ML 相关工具链。

AI SDK 原生语义:AI SDK 是纯 TypeScript 库,所有 AI 计算都在云端模型厂商的 API 服务上完成。你的本地环境只需要能运行 Node.js 和发起 HTTP 请求。

2. 安装核心包

2.1 AI SDK Core

ai 包是核心包,提供 streamTextgenerateTextgenerateObject 等服务端函数:

bash
# 使用 pnpm(推荐)
pnpm add ai

# 或使用 npm
npm install ai

# 或使用 yarn
yarn add ai

# 或使用 bun
bun add ai

2.2 AI SDK UI(React)

@ai-sdk/react 提供 React Hooks(useChatuseCompletion 等):

bash
pnpm add @ai-sdk/react

2.3 安装 Provider

Provider 是模型厂商的适配包。根据你使用的模型安装对应的 Provider:

bash
# OpenAI(GPT-4o、o1 等)
pnpm add @ai-sdk/openai

# Anthropic(Claude 系列)
pnpm add @ai-sdk/anthropic

# Google(Gemini 系列)
pnpm add @ai-sdk/google

# Mistral
pnpm add @ai-sdk/mistral

一步到位安装(以 OpenAI + Next.js 为例):

bash
pnpm add ai @ai-sdk/react @ai-sdk/openai

前端类比

Provider 的概念类似于前端的数据库 ORM 适配器。就像 Prisma 可以适配 PostgreSQL / MySQL / SQLite 一样,AI SDK 通过不同的 Provider 适配 OpenAI / Anthropic / Google 等模型厂商。核心 API 保持不变,只需换一个 Provider。

2.4 Zod(Schema 校验)

AI SDK 的结构化输出和工具定义依赖 Zod 做 Schema 校验:

bash
pnpm add zod

3. 环境变量配置

3.1 创建 .env.local

在项目根目录创建 .env.local 文件,存放 API Key:

bash
# .env.local

# OpenAI
OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxx

# Anthropic
ANTHROPIC_API_KEY=sk-ant-xxxxxxxxxxxxxxxxxxxxxxxx

# Google
GOOGLE_GENERATIVE_AI_API_KEY=xxxxxxxxxxxxxxxxxxxxxxxx

安全提示

  • 永远不要将 API Key 提交到 Git 仓库
  • 确保 .env.local 已添加到 .gitignore
  • Next.js 项目中,.env.local 会自动被 gitignore
  • NEXT_PUBLIC_ 开头的变量会暴露给浏览器,API Key 绝不能使用此前缀

3.2 环境变量命名约定

AI SDK 的各 Provider 默认读取特定的环境变量名:

Provider环境变量名获取方式
@ai-sdk/openaiOPENAI_API_KEYplatform.openai.com
@ai-sdk/anthropicANTHROPIC_API_KEYconsole.anthropic.com
@ai-sdk/googleGOOGLE_GENERATIVE_AI_API_KEYaistudio.google.com
@ai-sdk/mistralMISTRAL_API_KEYconsole.mistral.ai

只要环境变量名称正确,Provider 会自动读取,无需在代码中显式传入 Key。

3.3 自定义配置

如果你需要使用自定义 API Key 或 Base URL(例如代理、私有部署),可以使用 createOpenAI 等工厂函数:

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

const openai = createOpenAI({
  apiKey: process.env.MY_CUSTOM_OPENAI_KEY,
  baseURL: 'https://my-proxy.example.com/v1',
})

// 使用自定义实例
const model = openai('gpt-4o')

4. 项目结构建议

以 Next.js App Router 项目为例,推荐的目录结构:

my-ai-app/
├── app/
│   ├── api/
│   │   └── chat/
│   │       └── route.ts          # AI API Route Handler
│   ├── page.tsx                   # 聊天页面(使用 useChat)
│   └── layout.tsx                 # 根布局
├── lib/
│   ├── ai/
│   │   ├── models.ts             # 模型配置与实例化
│   │   └── tools.ts              # 工具定义
│   └── utils.ts                  # 工具函数
├── components/
│   ├── chat/
│   │   ├── ChatMessage.tsx       # 消息组件
│   │   └── ChatInput.tsx         # 输入组件
│   └── ui/                       # 通用 UI 组件
├── .env.local                     # 环境变量(不提交)
├── package.json
└── tsconfig.json

关键约定

  • API Route 放在 app/api/ 下,处理服务端 AI 调用
  • 模型配置 集中在 lib/ai/ 中,方便统一管理和切换 Provider
  • 工具定义 独立为文件,便于复用和测试
  • UI 组件 按功能模块组织,聊天相关组件放在 components/chat/

5. 验证安装

创建一个简单的脚本验证安装是否成功:

typescript
// test-ai.ts
import { generateText } from 'ai'
import { openai } from '@ai-sdk/openai'

async function main() {
  const { text } = await generateText({
    model: openai('gpt-4o'),
    prompt: '用一句话介绍自己',
  })
  console.log(text)
}

main()

使用 tsx 运行:

bash
# 安装 tsx(TypeScript 执行器)
pnpm add -D tsx

# 运行测试脚本
npx tsx test-ai.ts

如果能看到 AI 的回复,说明安装和配置都正确。

下一步

学习文档整合站点