SuperAPI AI 工具集

ai-sdk-6-skills

智能体与模型

查看项目

更新于 10-15 15:12

技能介绍

用途

本技能面向使用 Vercel AI SDK 构建 AI 应用的开发者,重点介绍 AI SDK 6 Beta 的新特性、从 AI SDK 5 的迁移要点,以及 Groq 提供商和 Vercel AI Gateway 的接入方式。

安装

pnpm add ai@beta @ai-sdk/openai@beta @ai-sdk/react@beta @ai-sdk/groq@beta

资料提示:Beta 期间应固定版本,因为补丁版本中可能出现破坏性变更。

AI SDK 6 新特性

1. Agent 抽象(新增)

提供统一接口来构建智能体,可完全控制执行流程、工具循环和状态管理。示例使用 ToolLoopAgent,配合 tool 与 zod 定义工具,通过 agent.generate({ prompt }) 调用并读取 result.output。

2. 工具执行审批(新增)

在执行敏感工具前请求用户确认。工具定义中设置 needsApproval: true;客户端通过 invocation.state === 'approval-requested' 渲染审批界面,并调用 addToolApprovalResponse({ id, approved }) 提交批准或拒绝。

3. 结构化输出 + 工具调用(稳定)

可将工具调用与结构化输出生成结合,通过 Output.object({ schema }) 指定输出结构,从 agent.generate 返回的 output 中获取结构化结果。

4. 重排序支持(新增)

通过 rerank 对文档重新排序以提升搜索相关性,示例使用 cohere.reranking('rerank-v3.5'),传入 documents、query、topN,返回 ranking 数组(含 originalIndex、score、document)。

从 AI SDK 5 迁移

资料称预期破坏性变更较少,多数 AI SDK 5 代码只需少量修改。主要差异:Agent 抽象取代临时模式,建议迁移到 ToolLoopAgent;结构化输出现在可与 generateText / streamText 配合使用(需要 stopWhen);@ai-sdk/* 包在 Beta 期间可能有小幅 API 调整。

Groq 提供商(开放权重模型)

安装:pnpm add @ai-sdk/groq,环境变量 GROQ_API_KEY。

资料列出的常用模型包括:llama-3.3-70b-versatile(Llama 3.3,70B,均衡)、llama-3.1-8b-instant(Llama 3.1,8B,快速)、mixtral-8x7b-32768(混合专家)、gemma2-9b-it(Google Gemma 2)、qwen/qwen3-32b(Qwen 3),完整列表见 Groq 控制台。

示例覆盖:基础文本生成(generateText)、结构化输出(generateObject,配合 providerOptions.groq.structuredOutputs: true)、工具使用、推理模型(qwen/qwen3-32b、deepseek-r1-distill-llama-70b,可配置 reasoningFormat 与 reasoningEffort)、图像输入(多模态模型 meta-llama/llama-4-scout-17b-16e-instruct)。

Vercel AI Gateway

定位:通过单一 API 访问 20 多家提供商(OpenAI、Anthropic、Google、Groq、xAI、Mistral 等)的统一接口。需要 Vercel 账号和信用卡。

配置:环境变量 AI_GATEWAY_API_KEY,密钥从 Vercel Dashboard > AI Gateway 获取。资料提示:Gateway 使用需要信用卡,通过网关路由的模型调用会产生计费。

认证方式:API Key 认证(环境变量或代码中 createGateway);OIDC 认证(部署到 Vercel 时自动处理,生产/预览无需设置;本地开发需 vercel login、vercel env pull,并使用 vercel dev 自动刷新令牌,OIDC 令牌 12 小时后过期)。

基本用法:模型字符串格式为 creator/model-name,如 openai/gpt-5;也可用 createGateway 创建实例后调用。

其他能力:模型发现(gateway.getAvailableModels(),含定价信息)、查询额度(gateway.getCredits())、流式输出(streamText)、工具使用、BYOK(自带密钥,在 Vercel 团队 AI Gateway 设置中配置)、提供商执行的工具(如 openai.tools.webSearch({}),配合 stopWhen: stepCountIs(10))。

提供商路由与回退选项:order(按顺序尝试提供商)、only(仅限特定提供商)、models(主模型失败时回退到备选模型)、user(按最终用户跟踪用量)、tags(为分析分类请求)、zeroDataRetention(仅使用零数据保留的提供商)、byok(请求级 BYOK 凭据)。资料给出了提供商与模型回退示例及回退顺序说明,以及用量跟踪和零数据保留示例。

关键概念

Agent 调用选项:通过 callOptionsSchema 定义运行时选项,配合 prepareCall 动态配置智能体(示例为支持智能体注入用户 ID 与账户类型)。

React UI 集成:服务端使用 createAgentUIStreamResponse,客户端使用 useChat 与 InferAgentUIMessage 类型。

最佳实践

Groq:均衡场景用 llama-3.3-70b-versatile;低延迟轻量任务用 llama-3.1-8b-instant;启用 parallelToolCalls: true(默认)加速多工具执行;可容忍偶发失败时用 serviceTier: 'flex' 获得 10 倍速率限制。

Vercel AI Gateway:始终添加信用卡(按 token 付费);用 only / order 控制路由与成本;用 user 和 tags 跟踪支出与调试;敏感数据启用 zeroDataRetention;定期检查 gateway.getCredits()。

Agents:以 ToolLoopAgent 为起点,必要时再扩展;结合结构化输出与工具调用;支付/删除操作使用工具审批;用 stopWhen 控制循环迭代(默认 stepCountIs(20))。

常见模式

资料给出 RAG Agent 示例(工具内调用向量数据库如 Upstash、Pinecone)和多提供商回退示例。

限制

资料未提供具体价格、性能数据或平台兼容性细节;Beta 期间 API 可能变化,建议固定版本。