Vercel AI SDK 接入指南
TypeScript 的大模型工具库,用 OpenAI 兼容供应商包接入。
适用场景
适合 Next.js、Node.js 等 TypeScript 服务端代码。@ai-sdk/openai-compatible 按 OpenAI 兼容协议请求 /chat/completions,generateText、streamText 和工具调用都能用。
使用建议
只在服务端路由或后端代码里创建供应商,密钥放在环境变量里,不要打包进浏览器端代码。
连不通时检查
- API 地址填
https://modelportal.ai/v1,不要多写/chat/completions。 - 密钥以
mp-(早期的为key_)开头且没有被暂停或撤销,错误码invalid_api_key表示密钥不可用。 - 模型 ID 与模型目录一致,并且在这把密钥的可用模型里。
- 余额不足会返回
insufficient_balance,更多错误见常见错误。
配置步骤
- 安装依赖:npm install ai @ai-sdk/openai-compatible。
- 用 createOpenAICompatible 建一个供应商,baseURL 填下面的 API 地址,apiKey 用你自己的密钥。
- 调用 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,只是不支持有状态会话。