在 Vercel AI SDK 中使用 6bee.ai
AI SDK 自带面向 OpenAI 兼容接口的 provider。用 6bee.ai 的接口地址创建一次,之后和其他模型一样使用。
开始之前
安装并创建 provider
npm install ai @ai-sdk/openai-compatible import { createOpenAICompatible } from '@ai-sdk/openai-compatible';
import { streamText } from 'ai';
const sixbee = createOpenAICompatible({
name: 'sixbee',
baseURL: 'https://api.6bee.ai/v1',
apiKey: process.env.SIXBEE_API_KEY,
});
const result = streamText({
model: sixbee('<模型 id>'),
prompt: '解释这段报错堆栈',
});
for await (const text of result.textStream) process.stdout.write(text); 需要知道的
- 只在服务端代码里调用接口:路由处理函数、server action 或脚本。写进浏览器代码的密钥等于公开。
- 一个账户同时只能有 2 个请求。如果你的应用用同一个密钥服务多个用户,请给调用排队,否则会遇到 429。
- 遇到 429 时,按响应头
Retry-After给出的秒数等待后重试。
- 上下文
- 输入加输出不超过模型窗口:按模型不同,为 128K 至 1M token。
- 输出
- max_tokens 最高到模型的输出上限:按模型不同,为 16,384 至 131,072。超出时自动降到上限,不会拒绝请求。不传时默认 8,192 至 32,768。
- 输入
- 滚动每分钟 100 万未命中缓存的 token,缓存命中不计。
- 请求频率
- 每分钟 60 次。
- 并发
- 同时 2 个请求。
- 请求体
- 不超过 8 MiB,n 必须为 1。
排错
- HTTP 401
- 密钥缺失或不正确。从控制台重新复制,不要带空格或引号。
- 提示模型不存在
- 模型 ID 不匹配。用
GET /v1/models查看可用的 ID,或到控制台核对。 - HTTP 429
- 超出了账户限额(请求频率、输入 token 或并发)。响应头
Retry-After给出需要等待的秒数。 - 长会话中出现 HTTP 400
- 请求已经放不进模型的上下文窗口。压缩或清空对话,或换用窗口更大的模型。
- 因余额不足被拒绝
- 每次请求会先预扣「输入 +
max_tokens输出」。充值,或调低max_tokens。