Python OpenAI API error: module 'openai' has no attribute 'Completion'. Did you mean: 'completions'?

267 Views Asked by At

I try to make a bot for my website in Python. But I have an error.

The Error:

You: hello
Traceback (most recent call last):
  File "D:\module2.py", line 20, in <module>
    response = chat_with_gpt(user_input)
               ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\module2.py", line 6, in chat_with_gpt
    response = openai.Completion.create(
               ^^^^^^^^^^^^^^^^^
AttributeError: module 'openai' has no attribute 'Completion'. Did you mean: 'completions'?

This is the Python code:

I tried many combinations, and I also tried with text-davinci-003, but nothing worked.

import openai

openai.api_key = "API-KEY"

def chat_with_gpt(prompt):
    response = openai.Completion.create(
        # engine="text-davinci-003",  # Adjust the engine as necessary
        engine="gpt-3.5-turbo",  # Adjust the engine as necessary
        prompt=prompt,
        max_tokens=150
    )
    return response.choices[0].text.strip()

if __name__ == "__main__":
    while True:
        user_input = input("You: ")
        user_input = user_input.lower()
        if user_input in ["quit", "exit", "bye"]:
            break
        response = chat_with_gpt(user_input)
        print("Chatbot:", response)

2

There are 2 best solutions below

3
Rok Benko On BEST ANSWER

There are a few problems in your code:

  • using the wrong method name (i.e., Completion)
  • using the deprecated parameter (i.e., engine)
  • using the incompatible model with the Completions API

The following code should work:

response = openai.completions.create( # Changed
    model="gpt-3.5-turbo-instruct", # Changed
    prompt=prompt,
    max_tokens=150
)
0
Just Me On
from openai import OpenAI

client = OpenAI()

completion = client.chat.completions.create(
    model="gpt-3.5-turbo",
    messages=[
        {
            "role": "system",
            "content": "You are a poetic assistant, skilled in explaining complex programming concepts with creative flair.",
        },
        {
            "role": "user",
            "content": "Compose a poem that explains the concept of recursion in programming.",
        },
    ],
)

print(completion.model_dump()['choices'][0]['message']['content'])

Source