# Vercel AI SDK 接入指南

https://modelportal.ai/docs/integrations/vercel-ai-sdk?lang=zh

> 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 与[模型目录](/catalog)一致，并且在这把密钥的可用模型里。
4. 余额不足会返回 `insufficient_balance`，更多错误见[常见错误](/docs/errors)。

## 配置步骤

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`

```typescript
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，只是不支持有状态会话。

