错误
错误
OpenModels 通过 Alephant gateway 返回兼容 OpenAI 的 JSON 错误。使用 HTTP status code 做宽泛处理,并在响应包含稳定的机器可读代码时使用 error.code。
错误响应格式
OpenModels 账号、billing 和 usage 错误可能包含 request_id 和 retryable 字段:
某些 gateway 或上游错误使用标准的兼容 OpenAI 结构,可能不包含 request_id 或 retryable:
字段:
对于 routed model 请求,如果你发送 x-request-id header,gateway 可以在 error.request_id 中回显它。否则,gateway 可能生成一个 km_... request id。早期 authentication、account 或上游错误可能不包含 request id,因此请在客户端日志中保留你自己的 request id。
错误代码
目前请处理这些响应:
OpenModels 专属 Key Market 代码可能出现在 gateway 响应中。出现时,请按如下方式处理:
重试指南
当 error.retryable 存在时,将它作为主要重试信号。如果缺少 error.retryable,则回退到 HTTP status code 和你自己的幂等规则。
在用户或系统改变某些条件之前,不要自动重试这些错误:
invalid_api_keykey_market_key_invalidkey_market_insufficient_balancekey_market_spend_limit_exceededkey_market_model_not_availablekey_market_image_price_not_availablekey_market_upstream_not_supported
这些错误可能是瞬时的。当 error.retryable 为 true,或你的 HTTP status 与幂等规则允许时,请使用退避重试:
key_market_no_upstream_availablekey_market_usage_unavailablekey_market_upstream_errorkey_market_upstream_timeout
没有 Key Market 代码的 HTTP 429、502、503 和 504 响应也可能是瞬时错误。重试时使用指数退避和较小的最大重试次数。生产工作负载中,请记录客户端请求 ID、可用时的 error.request_id、error.code、模型 ID、端点,以及请求是否为流式传输。
常见修复
处理示例
支持
报告错误时请包含:
- 你的 client request id
- 可用时的
error.request_id - 可用时的
error.code - HTTP status
- Model ID
- Endpoint
- 请求是否为 streaming
- Timestamp