跳转到内容

错误

代码含义怎么办
400请求被拒。参数无效、已有实例在跑,或额度不够。detail 并修正请求。重试没用。
401凭据缺失、格式不对,或不认识。检查 Authorization 头。如果密钥可能已被吊销,就轮换一个。
403通过了认证,但没有权限。见下文——原因不止一种。
404没有这个模板或实例,或者请求了一条不提供的 Model API 路径。确认标识符。目录里没有的模型名是 400,不是 404
409状态冲突,比如需要先完成邮箱验证。按响应体里的 code 处理。
429触发限流。Retry-After,然后退避。见限流
502上游模型网关或服务后端不可达。临时性问题。退避后重试。
503容量暂时耗尽,或功能被禁用。Retry-After 给的间隔重试。

Platform API 的错误用 FastAPI 的形状:

{ "detail": "Each user can only have one active instance" }

Public Free Model API 的错误来自两个地方,形状不一样。

网关抛的错——密钥无效、模型不存在、网关侧限流——用 OpenAI 的形状,现成的 OpenAI 错误处理代码不用改就能用:

{
"error": {
"message": "Unauthorized: No API key provided.",
"type": "invalid_request_error",
"param": null,
"code": "invalid_api_key"
}
}

/v1/messages/v1/messages/count_tokens 上,同样的错误改用 Anthropic 的信封,Anthropic SDK 可以直接解析:

{
"type": "error",
"error": {
"type": "authentication_error",
"message": "Unauthorized: No API key provided."
}
}

网关前面的平台抛的错——凭据被拒、准入控制、网关不可达——跟其他 Platform API 错误一样包在 detail 里:

{ "detail": "Invalid bearer token" }
{
"detail": {
"error": {
"message": "Model API rate limit exceeded; please retry later",
"type": "rate_limit_error",
"code": "token_rate_limit_exceeded"
}
}
}

目录里没有的模型名由网关直接拒掉,返回 400Requested model <名字> not supported,请求根本到不了后端。模型自己抛的错,比如 prompt 超过上下文上限,会带着服务后端自己的状态码和消息透传出来。

Dedicated Model API 的错误上面一条都不算。那条路上没有网关,代理放行之后你拿到的就是 vLLM 或 SGLang 原样吐出来的东西。代理回 403 说明密钥、实例或端口对不上;503 说明实例还在启动。其余都是你自己那台服务器在说话。

400 Each user can only have one active instance——先销毁当前实例。DELETE /api/notebook/current

400 Insufficient credits——你的余额低于请求的 GPU 数量。兑换优惠码,或者少要几张卡。

400 GPU count must be 1, 2, or 4——别的值分配不出来。

400 Invalid image selected——镜像不在目录里,或者已被禁用。用 GET /api/profile/templates 列出可用镜像。

403 {"code": "account_not_verified"}——账户还在审核中。响应体里带一个指向审核页面的 redirect。等待期间免费的 Model API 照常可用。

403 You do not have access to this instance——实例是别人的,或者你在用 Bearer 密钥访问实例代理,而它要求浏览器会话。见认证

502 Model gateway is unavailable——网关挂了或者连不上。退避后重试;如果持续好几分钟,那是一次故障,不是你这边的问题。

503 Model gateway connection pool exhausted——全平台在飞的请求太多。Retry-After 很短,通常 5 秒。

确认你调的基础 URL 对——共享端点和独占端点是不同的主机和路径,而且独占 URL 每次重新启动都会变。

确认密钥确实发出去了,而且是以 Authorization: Bearer rc-... 的形式。漏掉这个头和密钥无效都会得到 401

用独占端点的话,确认实例已经 ready 且模型加载完了。vLLM 在权重加载完之前就会响应端口,所以早期的请求会失败,报出来的后端错误看着像平台问题。

如果一个昨天还能用的调用今天报 400 Requested model ... not supported,多半是共享目录变了。用 GET /v1/models 重新解析。