Node.js中OpenAI gpt-3.5-turbo调用400错误求助
调用OpenAI createChatCompletion接口返回400错误的排查与修复
核心错误原因:传入的
messages数组包含非法角色值"bot"。OpenAI Chat Completion接口仅允许system、user、assistant三种角色标识,非法角色会触发400参数错误。修复方案:
- 将请求数据中的
"role": "bot"替换为"role": "assistant"(助手回复对应的合法角色是assistant),修正后的请求JSON如下:{ "prompt": [ { "role": "assistant", "content": "Something went wrong." }, { "role": "user", "content": "What is wrong?" } ] } - 确保服务端拼接后的
messages数组中所有角色值均在合法范围内,避免其他非法角色混入。
- 将请求数据中的
额外验证项:
- 检查
max_tokens设置:gpt-3.5-turbo上下文总tokens上限为4096,需保证prompt的tokens数与max_tokens之和不超过该值(此问题通常触发特定400提示,当前优先解决角色错误)。 - 确认API密钥与组织ID配置:若账户关联组织,需确保
Configuration对象正确传入organization字段:const configuration = new Configuration({ apiKey: API_KEY, organization: "YOUR_ORG_ID" });
- 检查
内容的提问来源于stack exchange,提问作者user20951184
相关产品推荐
相关产品推荐

