错误码
HTTP 状态码
| 码 | 含义 | 怎么办 |
|---|---|---|
| 200 | 成功 | — |
| 400 | 请求参数错误 | 检查请求体 JSON 格式、messages 是否为数组、model 是否存在 |
| 401 | 认证失败 | 检查 Authorization: Bearer sk-xxx,注意 Bearer 后有个空格 |
| 402 | 余额不足 | 去钱包充值 |
| 403 | 无权限 | 这个令牌被限定了模型,或账号被禁用 |
| 404 | 路径不存在 | 检查 URL,必须有 /v1 |
| 429 | 请求过于频繁 | 降低频率,或等一会儿 |
| 500 | 服务端错误 | 重试;持续报错请联系客服 |
| 502 | 上游错误 | 上游模型服务商返回了错误,换模型或稍后重试 |
| 503 | 服务不可用 | 稍后重试 |
业务错误
返回体里的 error.type 区分错误来源:
json
{
"error": {
"message": "Insufficient quota",
"type": "new_api_error",
"code": "insufficient_quota"
}
}| type | 来源 | 常见 code |
|---|---|---|
new_api_error | 本站 | insufficient_quota、model_not_found、get_channel_failed |
upstream_error | 上游服务商 | 上游原样返回,看 message |
invalid_request_error | 请求格式 | — |
常见具体报错
model_not_found
模型 xxx 不存在模型名拼错了,或者这个模型已经下架。去 模型广场 看当前可用的。
get_channel_failed
分组 default 下模型 xxx 的可用渠道不存在模型暂时没有可用渠道(上游挂了或额度用尽)。等一下再试,或者换别的模型。
insufficient_quota
余额不够了。注意有些模型单次调用就要几美分,余额太少会直接被拦。
MissingSessionID
如果看到这个,说明请求没经过本站——检查 base_url 是否写成了 https://www.zzcraft.cn/v1。
排查顺序
遇到报错按这个顺序查:
- 看 HTTP 状态码 —— 401/402/404 是配置问题,500/502 是服务问题
- 看
error.message—— 通常说得很清楚 - 看使用日志 —— 控制台的日志页有完整的请求记录,能看出请求到没到服务器
- curl 复现 —— 用最简参数试一次,排除代码问题
还是不行
带这几样东西联系 support@zzcraft.cn:
- 请求的
request id(返回体的 header 里有) - 完整的 curl 命令(把密钥打码)
- 报错原文
