Node.js中升级GPT-3至GPT-3.5 Turbo遇400错误求助
GPT-3.5 Turbo 升级后400错误的修复方案
错误原因
- 使用了错误的API方法:
gpt-3.5-turbo属于聊天类模型,必须调用createChatCompletion接口,你当前使用的createCompletion仅适用于文本补全类模型(如text-davinci-003),这是触发400请求错误的核心原因。 - 响应数据结构适配问题:原代码的返回值取值逻辑需要对应聊天模型的结构调整,不过这是方法调用错误后的衍生问题。
修复后的代码
const askAi = async (message) => { try { const openAIInstance = await _createOpenAIInstance() // 替换为聊天模型专用的createChatCompletion方法 const response = await openAIInstance.createChatCompletion({ model: 'gpt-3.5-turbo', messages: [{ role: 'user', content: message }] }) // 聊天模型返回结构中,正确取值路径为choices[0].message.content const repliedMessage = response.data.choices[0].message.content return repliedMessage } catch (err) { logger.error('', '', 'Ask AI Error: ' + err.message) return sendInternalError(err) } }
额外注意事项
- 确认OpenAI SDK版本为最新版,旧版本可能不支持
createChatCompletion,可执行npm install openai@latest更新依赖。 - 检查API密钥权限,确保账号已开通GPT-3.5 Turbo模型的调用权限。
内容的提问来源于stack exchange,提问作者ASHafizullah
相关产品推荐
相关产品推荐

