You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

OpenAI API代码报错:无法识别chat.choices[0].message.content

问题诊断与解决方法

以下是导致choices[0].message.content报错的常见原因及对应修复方案:

  • 使用了旧版OpenAI Python库
    旧版(v0.x)的OpenAI库响应结构与v1+版本差异很大:旧版聊天接口返回的是choices[0].text,而新版才会返回choices[0].message.content。
    修复:

    1. 升级库到最新版:pip install --upgrade openai
    2. 调整代码调用逻辑,新版库的聊天接口写法示例:
      from openai import OpenAI
      client = OpenAI(api_key="你的API密钥")
      
      response = client.chat.completions.create(
          model="gpt-3.5-turbo",
          messages=[{"role": "user", "content": "hi"}]
      )
      reply = response.choices[0].message.content
      print(reply)
      
  • 请求参数错误,模型不匹配
    如果调用的是文本补全类模型(如text-davinci-003)而非聊天模型(如gpt-3.5-turbo、gpt-4),响应结构中不会有message字段,自然无法识别choices[0].message.content。
    修复:确保调用的是聊天模型,并且请求的messages参数格式正确(必须是包含role和content的字典列表)。

  • API调用失败,响应为错误结构
    当API调用出现问题(如密钥无效、额度不足、网络超时),返回的响应中不会包含正常的choices字段,反而会有error相关内容。
    修复:先打印完整的响应内容排查问题:

    print(chat)
    

    根据输出的错误信息针对性解决,比如检查API密钥是否正确、账户是否有可用额度、网络是否能连通OpenAI服务器。

内容的提问来源于stack exchange,提问作者Subhajit

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 19:05:00