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
相关产品推荐
相关产品推荐

