Vercel AI 閘道器在賬戶餘額為零時似乎阻止 BYOK 請求
當 AI 閘道器積分耗盡時,所有請求都會被阻止,包括使用自帶金鑰(BYOK)的請求,這與文件描述不符。
當 AI 閘道器積分耗盡(餘額為零)時,所有請求都會被阻止——包括那些應使用自帶金鑰(BYOK)憑據的請求。無論 BYOK 是透過儀表盤整合(已驗證的“測試金鑰”功能正常工作)還是透過程式碼中的 providerOptions.byok 配置,都會發生這種情況。
預期行為
當 BYOK 憑據已配置(透過儀表盤或 providerOptions.byok)時,請求應直接使用這些憑據路由到提供商,無需 AI 閘道器積分。
文件指出:
> “使用您自己的憑據與外部 AI 提供商互動,AI 閘道器可以代表您進行身份驗證,且不增加額外費用。”
這意味著 BYOK 應完全繞過積分系統。
實際行為
所有請求失敗並顯示:
餘額不足。請向賬戶充值以繼續使用 AI 服務。即使:
- 在儀表盤中配置了 BYOK 整合且“測試金鑰”透過
- 在請求中顯式設定了
providerOptions.byok
復現步驟
- 在 Vercel 儀表盤(AI 閘道器 → 整合)中配置 BYOK 整合
- 使用“測試金鑰”功能驗證金鑰是否正常 ✓
- 將 AI 閘道器積分耗盡至 $0
- 使用
createGateway()發起請求:
import { createGateway, generateText } from "ai";
const gateway = createGateway();
// 方法1:依賴儀表盤 BYOK 配置
const response1 = await generateText({
model: gateway("anthropic/claude-3-5-haiku-latest"),
prompt: "Hello",
});
// 方法2:透過 providerOptions 顯式 BYOK
const response2 = await generateText({
model: gateway("anthropic/claude-3-5-haiku-latest"),
prompt: "Hello",
providerOptions: {
gateway: {
byok: {
anthropic: [{ apiKey: process.env.ANTHROPIC_API_KEY }],
},
},
},
});兩者均失敗並顯示“餘額不足”錯誤。
驗證
API 金鑰有效——直接呼叫提供商工作正常:
import { anthropic } from "@ai-sdk/anthropic";
import { generateText } from "ai";
// 此呼叫完美執行
const response = await generateText({
model: anthropic("claude-3-5-haiku-latest"),
prompt: "Hello",
});環境
ai包版本:6.0.0-beta.128@ai-sdk/gateway:最新- Node.js:v25.2.1
影響
以下使用者:
- 設定 BYOK 以避免 Vercel 積分費用
- 擁有有效提供商 API 金鑰且有可用配額
- AI 閘道器積分耗盡(即使是意外)
……完全無法使用 AI 閘道器,這與 BYOK 的初衷相悖。
建議修復
當滿足以下條件時應跳過積分檢查:
- 在儀表盤中為所請求的提供商配置了有效 BYOK 憑據
providerOptions.byok包含所請求提供商的有效憑據
閘道器僅在使用 Vercel 系統憑據時應要求積分。