AI News HubLIVE
站內改寫1 分鐘閱讀

Vercel AI 網關在賬户餘額為零時似乎阻止 BYOK 請求

當 AI 網關積分耗盡時,所有請求都會被阻止,包括使用自帶密鑰(BYOK)的請求,這與文檔描述不符。

來源Hacker News AI作者: kaicianflone

當 AI 網關積分耗盡(餘額為零)時,所有請求都會被阻止——包括那些應使用自帶密鑰(BYOK)憑據的請求。無論 BYOK 是通過儀表盤集成(已驗證的“測試密鑰”功能正常工作)還是通過代碼中的 providerOptions.byok 配置,都會發生這種情況。

預期行為

當 BYOK 憑據已配置(通過儀表盤或 providerOptions.byok)時,請求應直接使用這些憑據路由到提供商,無需 AI 網關積分。 文檔指出: > “使用您自己的憑據與外部 AI 提供商交互,AI 網關可以代表您進行身份驗證,且不增加額外費用。” 這意味着 BYOK 應完全繞過積分系統。

實際行為

所有請求失敗並顯示:

餘額不足。請向賬户充值以繼續使用 AI 服務。

即使:

  1. 在儀表盤中配置了 BYOK 集成且“測試密鑰”通過
  2. 在請求中顯式設置了 providerOptions.byok

復現步驟

  1. 在 Vercel 儀表盤(AI 網關 → 集成)中配置 BYOK 集成
  2. 使用“測試密鑰”功能驗證密鑰是否正常 ✓
  3. 將 AI 網關積分耗盡至 $0
  4. 使用 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 的初衷相悖。

建議修復

當滿足以下條件時應跳過積分檢查:

  1. 在儀表盤中為所請求的提供商配置了有效 BYOK 憑據
  2. providerOptions.byok 包含所請求提供商的有效憑據

網關僅在使用 Vercel 系統憑據時應要求積分。