OpenAI 400 Bad Request 错误排查
OpenAI API 返回 400 Bad Request 错误?这通常是由请求参数错误引起的。本文详解常见原因和排查步骤。
常见原因
1. 请求体格式错误
JSON 格式不正确是最常见的原因:
# 错误:多余的逗号
{"model": "gpt-4", "messages": [{"role": "user", "content": "Hi",}],}
# 正确
{"model": "gpt-4", "messages": [{"role": "user", "content": "Hi"}]}
2. 必需参数缺失
Chat Completions API 必需的参数:
model— 模型名称messages— 消息数组,至少包含一条消息
3. Token 超限
请求的 token 数(输入 + max_tokens)超过模型上限:
- GPT-4:8,192 tokens
- GPT-4 Turbo:128,000 tokens
- GPT-4o:128,000 tokens
4. 参数值无效
# 错误:temperature 超出范围
{"temperature": 3.0} # 最大值为 2.0
# 错误:messages 格式不对
{"messages": "Hello"} # 应该是数组
# 错误:role 不合法
{"messages": [{"role": "ai", "content": "Hi"}]} # 应该是 "assistant"
排查步骤
步骤 1:检查错误消息
OpenAI 的 400 响应通常包含详细的错误描述:
{
"error": {
"message": "Invalid value for 'temperature': 3.0...",
"type": "invalid_request_error",
"param": "temperature",
"code": null
}
}
步骤 2:验证 JSON
使用 JSON 验证工具检查请求体格式是否正确。
步骤 3:对照文档
检查参数名称、类型和取值范围是否符合 API 文档。
使用中转站的好处
提示:中转站通常会对请求做预处理和参数校验,帮你自动修正一些常见的格式问题,减少 400 错误的发生。
轻舟 AI