Vercel AI SDK 接入指南

最后更新

TypeScript 的大模型工具库,用 OpenAI 兼容供应商包接入。

适用场景

适合 Next.js、Node.js 等 TypeScript 服务端代码。@ai-sdk/openai-compatible 按 OpenAI 兼容协议请求 /chat/completions,generateText、streamText 和工具调用都能用。

使用建议

只在服务端路由或后端代码里创建供应商,密钥放在环境变量里,不要打包进浏览器端代码。

连不通时检查

  1. API 地址填 https://modelportal.ai/v1,不要多写 /chat/completions。
  2. 密钥以 mp-(早期的为 key_)开头且没有被暂停或撤销,错误码 invalid_api_key 表示密钥不可用。
  3. 模型 ID 与模型目录一致,并且在这把密钥的可用模型里。
  4. 余额不足会返回 insufficient_balance,更多错误见常见错误。

配置步骤

  1. 安装依赖:npm install ai @ai-sdk/openai-compatible。
  2. 用 createOpenAICompatible 建一个供应商,baseURL 填下面的 API 地址,apiKey 用你自己的密钥。
  3. 调用 generateText 或 streamText 时传入这个供应商的模型;密钥只在服务端代码里用。

配置参数

  • API 地址:https://modelportal.ai/v1
  • API 密钥:YOUR_API_KEY
  • 模型:MODEL_ID
import { createOpenAICompatible } from "@ai-sdk/openai-compatible";
import { generateText } from "ai";

const modelportal = createOpenAICompatible({
  name: "modelportal",
  baseURL: "https://modelportal.ai/v1",
  apiKey: "YOUR_API_KEY",
});

const { text } = await generateText({
  model: modelportal("MODEL_ID"),
  prompt: "你好",
});
console.log(text);

常见问题

为什么不用 @ai-sdk/openai?
新版 @ai-sdk/openai 默认走 Responses 接口,用 openai-compatible 包更直接;平台也支持 Responses,只是不支持有状态会话。