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

Python中OpenAI ChatCompletion函数报错:对象类型不匹配问题求助

问题解决:OpenAI ChatCompletion接口messages参数错误

错误原因

报错提示"{'role': 'user', 'content': 'What is 2 + 2?'}" is not of type 'object',核心问题是你用F-string构造了字符串格式的字典模拟内容,但OpenAI的messages参数要求传入的是Python字典对象组成的列表,而非字符串。接口无法将字符串解析为它需要的结构,因此抛出类型错误。

修正后的代码

def get_response(message):
    
    response = openai.ChatCompletion.create(
        model='gpt-3.5-turbo',
        temperature=1,
        messages=[
            {'role': 'user', 'content': message}
        ]
    )
    return response.choices[0]["message"]["content"]

# 调用示例
get_response('What is 2 + 2?')

补充说明

不需要将内容转换为OpenAI的特定类,直接传入标准的Python字典即可。ChatCompletion.create()接口会自动识别并处理这种字典结构,完全不需要手动用字符串模拟字典格式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 16:37:01