ModelSite
平台概念

错误码

HTTP 错误状态码、错误响应结构与重试策略

所有错误返回 JSON,error 对象含 typemessage,部分含 code/param

状态码

状态码type 示例含义排查
400invalid_request_error请求格式/参数错误检查 body、必填字段、model
401authentication_errorAPI Key 缺失或无效确认 Authorization: Bearer
402insufficient_quota余额不足充值,见 计费
403permission_denied无权访问该模型/操作确认 Key 权限或模型开放范围
404not_found模型/资源不存在GET /v1/models 核对 ID
408request_timeout请求超时重试;长任务用异步接口
413invalid_request_error请求体过大减少 token / 用分片上传
422invalid_request_error参数语义无法处理检查 tools/response_format
429rate_limit_error触发限流或配额降并发,看 Retry-After,见 限流
500server_error网关/路由异常平台会自动 failover;持续报错联系支持
502/503server_error上游不可用平台自动切换上游;稍后重试
504server_error网关等待上游超时重试

错误响应

{
  "error": {
    "type": "invalid_request_error",
    "code": "model_not_found",
    "param": "model",
    "message": "model not found: foo-1"
  }
}
字段说明
error.type错误类别(见上表)
error.code细分错误码(可选)
error.param出错的参数名(可选)
error.message人可读的说明

重试策略

平台对 5xx / 上游超时 已自动 failover 切换上游,无需客户端激进重试。客户端只需对 429(限流)和极少数 503指数退避重试。

import time
def call_with_retry(fn, tries=4):
    for i in range(tries):
        try:
            return fn()
        except RateLimitError:
            time.sleep(2 ** i)   # 1, 2, 4, 8s
    raise

On this page