mcpField
A
ai-sdk

ai-sdk

github.com/marcioaltoe开发057 次安装今天更新
代码仓库

关于 ai-sdk

ai-sdk 是用于构建 AI 应用的 TypeScript 工具包,支持文本生成、结构化输出、工具调用、Agent、嵌入和 UI 集成。此指导技能强调查阅与已安装版本匹配的文档,而非依赖记忆。

主要功能

  1. 01文本与结构化生成
  2. 02工具调用和 Agent 抽象
  3. 03嵌入与 UI 集成
  4. 04匹配版本的文档指导
  5. 05用于本地调试的 AI SDK DevTools

适用场景

  1. 01构建 TypeScript AI 应用
  2. 02实现带工具调用的 Agent
  3. 03调试请求、响应和 Agent 运行
  4. 04根据已安装的 SDK 版本核对 API

安装

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

$npx skills add https://github.com/marcioaltoe/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 钩子是最常变更的 API 之一,因此编写客户端代码时尤其要谨慎。

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

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

ai 包会将完整文档和源代码打包在 node_modules 中。这些内容始终与已安装的版本匹配,因此应优先参考它们,而不是依赖记忆。

  1. 确认已安装 ai。检查 node_modules/ai/,或在依赖 ai 的 monorepo 中定位工作区包(例如 apps/<name>/node_modules/ai/)。如果项目中任何位置都未安装 ai,请使用项目的包管理器,将仅 ai 包安装到目标包中(例如 pnpm add ai --filter <pkg> 或 npm install ai)。等任务需要时,再安装提供商包(例如 @ai-sdk/openai)和框架包(例如 @ai-sdk/react)。
  2. 阅读并搜索随包提供的文档 node_modules/ai/docs/(或 <package>/node_modules/ai/docs/)以及源代码 node_modules/ai/src/。
  3. 提供商包和框架包会在 node_modules/@ai-sdk/<name>/docs/(或 <package>/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/,尤其是 agents 部分)或 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