mcpField
A
ai-sdk

ai-sdk

github.com/pedronauck开发644260 次安装1 周前更新
代码仓库

关于 ai-sdk

ai-sdk 是 Vercel 提供的 TypeScript 工具包,供开发者构建 AI 应用,涵盖文本生成、结构化输出、工具调用、Agent、嵌入和界面集成。此技能强调依据项目安装版本的文档和源码核实 API,避免使用过时用法。

主要功能

  1. 01统一接入多家模型提供方
  2. 02生成文本与结构化输出
  3. 03调用工具并构建 Agent
  4. 04集成框架界面
  5. 05查阅与安装版本匹配的文档
  6. 06使用 DevTools 检查调用

适用场景

  1. 01在 TypeScript 项目中开发 AI 应用
  2. 02基于工具调用构建 Agent
  3. 03为应用添加模型生成与嵌入
  4. 04排查生成、工具调用及令牌用量

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/pedronauck/skills --skill ai-sdk

安装后在 Claude Code 中输入/ai-sdk确认已加载。

详细介绍

AI SDK 是什么

Vercel 的 AI SDK(npm 上的 ai 包)是一个用于构建 AI 应用的 TypeScript 工具包。它为文本生成、结构化输出、工具调用、Agent、嵌入和框架 UI 集成提供统一的 API。

重要:不要相信自己的记忆

你对 AI SDK 的记忆很可能已经过时。SDK 会随版本频繁变化——API 会重命名、移除和新增。你的训练数据几乎肯定包含已过时的 API、已弃用的模式,以及不再存在的模型 ID。useChat 等 UI hook 是变化最频繁的 API 之一,因此客户端代码尤其需要谨慎。

绝不要凭记忆编写 AI SDK 代码。 务必依据项目中实际安装版本的文档和源代码,核实每个 API、选项和模式。

使用随包提供且版本匹配的文档

ai 包在 node_modules 中附带完整的文档和源代码。它们始终与已安装的版本匹配,因此应以它们为准,而不是相信自己的记忆。

  1. 确保已安装 ai。如果 node_modules/ai/ 不存在,请使用项目的包管理器(例如 pnpm add ai)只安装 ai 包。等到任务需要时,再安装提供商包(例如 @ai-sdk/openai)和框架包(例如 @ai-sdk/react)。
  2. 阅读并搜索随包提供的文档 node_modules/ai/docs/ 和源代码 node_modules/ai/src/。
  3. 提供商包和框架包会在 node_modules/@ai-sdk/<name>/docs/ 中附带各自的文档。
  4. 如果随包提供的文档中没有相关内容,请搜索 https://ai-sdk.dev/docs。可以在任意文档页面 URL 后附加 .md,以获取其 Markdown 内容;也可以通过 https://ai-sdk.dev/api/search-docs?q=your_query 搜索。
  5. 如果无法在文档或源代码中找到支持某个答案的内容,请明确说明——不要猜测。

AI Gateway:最快的入门方式

Vercel AI Gateway 是开始使用 AI SDK 的最快方式。它通过单一 API 提供对 OpenAI、Anthropic、Google 和其他提供商模型的访问,无需安装提供商包或管理多个 API 密钥。

设置步骤:

  1. 使用 OIDC 进行身份验证(适用于 Vercel 部署),或获取 AI Gateway API 密钥。
  2. 通过 AI_GATEWAY_API_KEY 环境变量将其提供给应用。
  3. 使用 provider/model 字符串引用模型。

有关确切的设置、身份验证和用法,请阅读随包提供的指南和 AI Gateway 文档。

选择模型

绝不要凭记忆使用模型 ID——模型会频繁发布和退役。编写引用模型的代码前,先获取当前列表。不要截断列表(例如使用 head),以便找到最新模型:

# All available models
curl -s https://ai-gateway.vercel.sh/v1/models | jq -r '.data[].id'

# Filter by provider (e.g. anthropic, openai, google)
curl -s https://ai-gateway.vercel.sh/v1/models | jq -r '[.data[] | select(.id | startswith("anthropic/")) | .id] | reverse | .[]'

如果同一模型有多个版本,请优先选择版本号最高的版本。

构建和使用 Agent

请使用 SDK 内置的 Agent 抽象(例如 ToolLoopAgent),而不是自行编写工具调用循环。为了实现端到端类型安全,客户端使用 Agent 时(例如通过 useChat),请从 Agent 定义推断 UI 消息类型。Agent 的使用方式因框架而异:检查 package.json 以确定技术栈,然后按照匹配的快速入门指南操作。

请在随包提供的文档(node_modules/ai/docs/,尤其是 Agent 相关章节)或 https://ai-sdk.dev/docs 中查找当前的 Agent、工具和类型安全 API。

DevTools

AI SDK DevTools 会捕获 AI SDK 调用——请求、响应、工具调用、令牌用量和多步运行——让你可以准确检查 Agent 的行为。开发时可使用它来调试生成过程。它是独立的包,仅供本地开发使用。

设置说明请参阅随包提供的 DevTools 文档。

保持 SDK 为最新版本

过时的安装版本是错误最常见的来源。请将已安装的版本与最新版本进行比较:

  • 已安装版本: node_modules/ai/package.json 中的 version 字段。
  • 最新版本: 运行 npm view ai version。

如果已安装的版本比最新版本落后一个或多个主版本,请告知用户当前使用的是旧版本,并建议在继续之前升级。迁移指南位于 https://ai-sdk.dev/docs/migration-guides。

完成更改后

运行项目的类型检查器。尽量精简——仅设置与默认值不同的选项,并查阅文档或源码确认默认值,不要过度指定。大多数类型错误都源于记忆中已经变更的 API;出现此类错误时,请重新查阅当前文档和源码。

评论

支持 Markdown