Hubridge

错误处理

常见 HTTP 状态码与排查建议

Gateway 的 /v1*/v1beta* 接口在出错时,通常返回 OpenAI / Anthropic / Gemini 协议原生错误体(与对应厂商格式一致),便于 SDK 直接解析。

常见状态码

状态码含义常见原因
401未授权API Key 缺失、格式错误或已失效
402余额不足钱包可用余额不够,请 充值
403禁止访问令牌无权访问该模型,或未订阅对应模型
429请求过多触发配额/限流,稍后重试
502上游错误模型渠道返回异常
503服务不可用上游暂时不可用或维护中

401 排查

  1. 确认 Header 为 Authorization: Bearer sk-xxx(注意 Bearer 与空格)
  2. 确认使用的是 Gateway API Key,不是 Console 登录 JWT
  3. 令牌管理 检查令牌是否被禁用或过期

402 / 403 排查

  • 402:查看 钱包 可用余额;检查令牌是否设置了过低的消费额度
  • 403:创建令牌时是否限制了模型范围;确认请求的 model模型广场 中存在且为 active

429 排查

  • 降低并发或增加重试间隔(建议指数退避)
  • 联系管理员确认租户配额

502 / 503 排查

  • 稍后重试
  • 使用日志 查看 error_messagestatus_code
  • 尝试更换模型或联系平台支持

日志与调试

Console 提供 使用日志,可按时间、令牌筛选,查看每次请求的:

  • 模型、端点、状态码
  • Token 用量与费用
  • 延迟与错误信息

建议保存 request_id(若响应中包含)以便 support 排查。

OpenAI SDK 中的错误

from openai import OpenAI, APIStatusError

client = OpenAI(base_url="...", api_key="...")

try:
    client.chat.completions.create(model="gpt-4o", messages=[...])
except APIStatusError as e:
    print(e.status_code, e.message)
import OpenAI from "openai";

try {
  await client.chat.completions.create({ model: "gpt-4o", messages: [...] });
} catch (error) {
  if (error instanceof OpenAI.APIError) {
    console.error(error.status, error.message);
  }
}