← 返回博客

Vercel AI SDK 接入 APIBox:用一个 Provider 调用 Claude、GPT、Gemini、DeepSeek

本文讲解如何通过 OpenAI 兼容 Provider 在 Vercel AI SDK 中接入 APIBox,包含配置项、generateText、streamText、模型切换和常见错误排查。

在 Vercel AI SDK 中接入 APIBox,最短路径是使用 OpenAI 兼容 Provider,并把 baseURL 设置为 https://api.apibox.cc/v1。之后,generateTextstreamText、工具调用和模型切换都可以继续使用 AI SDK 的标准模式,由 APIBox 统一路由到 Claude、GPT、Gemini、DeepSeek 等模型。

1. 需要填写的核心配置

配置项填写内容
Provider 包@ai-sdk/openai-compatible
API Key你的 APIBox Key
Base URLhttps://api.apibox.cc/v1
模型名使用 APIBox 模型名,例如 gpt-5claude-sonnet-4-6gemini-2.5-prodeepseek-r1
推荐首测generateText 跑一个短 prompt

这个配置适合这些需求:

  • 把 Vercel AI SDK 连接到 OpenAI 兼容供应商
  • 用一个 baseURL 管理多个模型家族
  • 在同一套 AI SDK 代码里调用 Claude、GPT、Gemini 或 DeepSeek
  • 把模型切换留在配置层,而不是重写 Route
  • 在 Next.js 和 Node.js 服务里复用同一种 Provider 模式

2. 安装依赖

npm install ai @ai-sdk/openai-compatible

添加环境变量:

APIBOX_API_KEY=your_apibox_key

不要把这个 Key 暴露在前端代码里。模型调用应放在服务端 Route、Server Action、后台任务或后端服务中。

3. 创建共享的 APIBox Provider

建议单独建一个 provider 文件,避免在业务代码里反复写 baseURL 和 Key 处理逻辑。

// lib/apibox.ts
import { createOpenAICompatible } from '@ai-sdk/openai-compatible';

export const apibox = createOpenAICompatible({
  name: 'apibox',
  apiKey: process.env.APIBOX_API_KEY,
  baseURL: 'https://api.apibox.cc/v1',
});

之后所有模型调用都复用这个 provider。

4. 使用 APIBox 生成文本

// app/api/summarize/route.ts
import { generateText } from 'ai';
import { apibox } from '@/lib/apibox';

export async function POST(req: Request) {
  const { text } = await req.json();

  const result = await generateText({
    model: apibox('gpt-5'),
    system: '你擅长清晰、简洁地总结技术内容。',
    prompt: `请总结以下文本:\n\n${text}`,
  });

  return Response.json({ summary: result.text });
}

切换模型时,Provider 不变:

model: apibox('claude-sonnet-4-6')
model: apibox('gemini-2.5-pro')
model: apibox('deepseek-r1')

5. 为聊天界面使用流式输出

聊天界面通常更适合流式输出,因为用户可以更早看到结果。

// app/api/chat/route.ts
import { streamText } from 'ai';
import { apibox } from '@/lib/apibox';

export async function POST(req: Request) {
  const { messages } = await req.json();

  const result = streamText({
    model: apibox('claude-sonnet-4-6'),
    system: '你是一个面向软件开发者的精确助手。',
    messages,
  });

  return result.toTextStreamResponse({
    headers: {
      'Content-Type': 'text/event-stream',
    },
  });
}

如果这是生产聊天应用,公开前要补上请求校验、登录鉴权、限流和日志。

6. 在 Vercel AI SDK 应用里如何选模型

工作负载推荐首选方向原因
编程助手Claude 或 GPT 编程模型更擅长代码、diff 和复杂推理
高频摘要成本更低的 GPT、Gemini 或 DeepSeek 模型成本比极致文风更重要
带工具的 Agent强推理模型工具选择和参数质量很关键
搜索问答生成快速且指令遵循好的模型延迟和答案精炼度更重要
内部自动化通过评测的最低成本模型批处理任务应该靠评测选型

重点不是某个模型永远最好,而是 APIBox 让 AI SDK 应用在集成不变的情况下测试和更换模型。

相关阅读:

7. 常见错误排查

401 Unauthorized

检查:

  • APIBOX_API_KEY 是否存在于运行时环境
  • Key 是否带了多余空格或引号
  • 修改 .env.local 后是否重启服务
  • 是否误把 Key 放到了浏览器端代码

404 model not found

检查 APIBox 模型名。不要假设官方供应商模型 ID 与网关模型 ID 一定完全一致。

可参考:

请求卡住或流式输出很慢

检查:

  • 当前模型是否是推理模型
  • 输出长度是否过长
  • 托管平台超时时间
  • Route 是否运行在预期 runtime

流式 Route 应直接返回 stream,不要先把完整答案缓存在内存里。

工具调用在不同模型上表现不同

OpenAI 兼容不代表模型行为完全一致。一个 tool schema 在某个模型上可用,不代表在所有模型上都稳定。关键流程要用实际准备上线的模型逐个测试。

工具设计可以继续看:

8. 生产上线检查清单

上线前确认:

  • API Key 只存在服务端
  • 模型名通过环境变量或小型 allowlist 管理
  • 请求体大小有限制
  • 用户级限流已配置
  • Prompt 有版本记录
  • 错误日志包含模型名和延迟
  • 成本能按路由或功能统计
  • 备用模型策略明确

9. 推荐配置

Vercel AI SDK 接入 APIBox 的方法是:安装 ai@ai-sdk/openai-compatible,创建一个 baseURL: "https://api.apibox.cc/v1" 的 Provider,传入 APIBox Key,然后用 generateTextstreamText 调用模型。这样 Next.js 或 Node.js 应用就能用一套 OpenAI 兼容接口访问 Claude、GPT、Gemini、DeepSeek 等模型。

注册 APIBox 创建 API Key,再把上面的 Provider 配置放进你的 Vercel AI SDK 项目。

立即体验,注册后即可使用 30+ 模型,一个 Key 全搞定

免费注册 →