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

OpenAI API报错TypeError: 'ChatCompletion' object is not subscriptable求修复

问题修复:TypeError: 'ChatCompletion' object is not subscriptable

错误原因:OpenAI Python库v1.x版本返回的ChatCompletion对象不支持字典下标访问([]),需通过属性访问符(.)获取usage相关数据。

修复后的完整代码:

def get_completion_and_token_count(messages, 
                                   model="gpt-3.5-turbo", 
                                   temperature=0, 
                                   max_tokens=500):
    
    response = client.chat.completions.create(
        model=model,
        messages=messages,
        temperature=temperature, 
        max_tokens=max_tokens,
    )
    
    content = response.choices[0].message.content
    
    token_dict = {
        'prompt_tokens': response.usage.prompt_tokens,
        'completion_tokens': response.usage.completion_tokens,
        'total_tokens': response.usage.total_tokens,
    }

    return content, token_dict
 
messages = [
{'role':'system', 
 'content':"""You are an assistant who responds\
 in the style of Dr Seuss."""},    
{'role':'user',
 'content':"""write me a very short poem \
 about a happy carrot"""},  
] 
response, token_dict = get_completion_and_token_count(messages)

说明:仅修改了token_dict中获取usage数据的方式,将字典下标访问改为属性访问,其余代码保持不变。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 13:40:04