[Solved] OpenAI Python Package Error: 'ChatCompletion' object is not subscriptable

Written by- Aionlinecourse1218 times views

[Solved] OpenAI Python Package Error: 'ChatCompletion' object is not subscriptable

OpenAI brings a remarkable evolution in the field of Natural Language Processing. It's an open-source platform to generate human-like texts and has various applications. Therefore, developers use the OpenAI GPT model for multiple tasks and applications. However, as with any programming, encountering errors is inevitable. One common error when integrating the OpenAI's libraries is the ' 'ChatCompletion' object is not subscriptable' error.

When we are trying to access an item in an object using indexing or key access (e.g., 'object[key]') on an object which does not support this operation, we get this error message  ' 'ChatCompletion' object is not subscriptable'. When we work with OpenAI's Python libraries, particularly 'ChatCompletion', this error typically arises. 


Solution:

In the latest OpenAI package the response.choices object type is changed and in this way, you must read the response:

print(response.choices[0].message.content)

The complete working code:

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 )


This might be irritating when you encounter the ''ChatCompletion' object is not subscriptable' error, especially if you're working on an exciting project. However, assessing why this error arises and how to solve it is essential to successful development with OpenAI's Python library.


Thank you for reading the article.