OpenAI Python 包错误:“ChatCompletion”对象不可订阅

Sad*_*ari 25 python openai-api chatgpt-api

将我的 OpenAI 包更新到版本 1.1.1 后,我在尝试读取 ChatGPT API 响应时收到此错误:

“ChatCompletion”对象不可订阅

这是我的代码:

messages = [
        {"role": "system", "content": '''You answer question about some service'''
        },
        {"role": "user", "content": 'The user question is ...'},
    ]
response = client.chat.completions.create(
        model=model,
        messages=messages,
        temperature=0
    )
response_message = response["choices"][0]["message"]["content"]
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个错误?

Sad*_*ari 45

在最新的 OpenAI 包中,response.choices对象类型发生了更改,这样您必须读取响应:

print(response.choices[0].message.content)
Run Code Online (Sandbox Code Playgroud)

完整的工作代码:

from openai import OpenAI

client = OpenAI(api_key='YourKey')
GPT_MODEL = "gpt-4-1106-preview" #"gpt-3.5-turbo-1106"
messages = [
        {"role": "system", "content": 'You answer question about Web  services.'
        },
        {"role": "user", "content": 'the user message'},
    ]
response = client.chat.completions.create(
        model=model,
        messages=messages,
        temperature=0
    )
response_message = response.choices[0].message.content
print(response_message )
Run Code Online (Sandbox Code Playgroud)

请参阅项目自述文件中的此示例。