错误
错误原样返回给你。我们不改写、不重试、不绕路。
无可用容量
最常见的失败。它表示我们此刻无法提供该模型。 这不是你的密钥、你的请求或你的余额有问题。
它以 HTTP 424 返回:
{"error": {"code": "provider_error",
"type": "api_error",
"message": "Provider error (request id: ...)"}}
请按 HTTP 状态码判断,绝不要匹配 message 文本。 该文本是刻意保持中性的,不含任何细节。请务必保留 body 里的 request id: 它是技术支持唯一能追查的线索。
容量通常会自行恢复。按你自己的节奏重试,加上退避和抖动,并限制重试次数。
424 并不总是表示服务不可用。
请求参数不会在送到模型之前被校验,所以一个模型本身拒绝的请求 ——
比如超出范围的
temperature —— 会返回同样的
424 provider_error。我们实测过:temperature: 1.5
返回 424,而同一分钟内 1.0 成功。
对这种情况重试是永远不会成功的死循环。把 424 当成故障之前, 先用一个已知可用的最小请求打同一个模型;如果它成功了, 说明问题出在你原来的请求上。
余额耗尽
密钥预付余额归零后,请求会被拒绝。充值后恢复。
客户端超时照样计费。如果你在请求执行期间断开连接,
任务会继续跑完并计费。超时后重试可能为同一个答案付两次钱。
超时时间设得比你以为需要的更长 —— 长文本生成超过一分钟很正常。
失败的请求不计费
真正失败的请求 —— 包括无可用容量错误 —— 不计费。只有完成的工作才收费。