错误处理
了解如何处理 API 调用中的常见错误和解决方案
1. 错误定位基本步骤
1.1 获取 HTTP 错误代码
在代码中,尽量把错误码和报错信息(message)打印出来,利用这些信息,可以定位大部分问题。
示例响应:
HTTP/1.1 400 Bad Request
Date: Thu, 19 Dec 2024 08:39:19 GMT
Content-Type: application/json; charset=utf-8
Content-Length: 87
Connection: keep-alive
{
"code": 20012,
"message": "Model does not exist. Please check it carefully.",
"data": null
}
1.2 常见错误代码及原因
错误码 | 原因 | 解决方案 |
---|---|---|
400 | 参数不正确 | 参考报错信息(message)修正不合法的请求参数 |
401 | API Key 设置错误 | 检查 API Key 是否正确设置 |
403 | 权限不足 | 常见原因是模型需要实名认证,具体参考报错信息(message) |
429 | 触发限流 | 参考报错信息判断触发的具体限流类型(RPM/RPD/TPM/TPD/IPM/IPD),查看 Rate Limits 了解具体策略 |
504/503 | 服务负载高 | 1. 稍后重试 2. 对于对话和文本转语音请求,可尝试使用流式输出("stream": true) |
500 | 服务未知错误 | 联系相关人员进行排查 |
1.3 使用 curl 命令调试
如果客户端没有输出相应的信息,可以考虑在命令行下运行 curl 命令(以 LLM 模型为例):
curl --request POST \
--url https://api.openapi.cn/v1/chat/completions \
--header 'accept: application/json' \
--header 'authorization: Bearer 改成你的apikey' \
--header 'content-type: application/json' \
--data '{
"model": "记得改模型",
"messages": [
{
"role": "user",
"content": "你好"
}
],
"max_tokens": 128
}' -i
2. 其他故障排查建议
- 尝试更换模型,验证问题是否依然存在
- 如果开启了代理,可以尝试关闭代理后再次访问
3. 问题反馈
如遇其他问题,请点击布尔算力OpenAPI线上需求收集表反馈。