Произошла ошибка: у модуля openai нет атрибута ChatCompletion.

Я пытаюсь создать бота Discord, который использует API GPT-4 для работы в качестве чат-бота в Discord. У меня самая последняя версия библиотеки OpenAI, но когда я запускаю свой код, он сообщает мне: «Произошла ошибка: у модуля openai нет атрибута ChatCompletion».

Я попробовал удалить и переустановить библиотеку OpenAI, попробовал использовать конечную точку завершения и получил ошибку: «Это модель чата, которая не поддерживается в конечной точке v1/completions. Вы имели в виду использовать v1/chat/completions?»

Это фрагмент кода, который вызывает у меня проблемы:

      async def get_gpt_response(prompt, history):
    history_strings = [f"{message['role']}: {message['content']}" for message in history] # update history format
    chat_prompt = '\n'.join(history_strings + [f"user: {prompt}"])
    
    completions = openai.ChatCompletion.create(
        engine=config["model"],
        prompt=chat_prompt,
        max_tokens=config["max_tokens"],
        n=1,
        temperature=config["temperature"],
    )
    return completions.choices[0].text.strip().split('assistant:', 1)[-1].strip()

11 ответов

Убедитесь, что у вас нет файла с именем «openai.py».

У меня возникла точно такая же ошибка, даже после установки библиотеки OpenAi. Я запустил скрипт ниже:

pip install --upgrade openai

Это дало мне последнюю версию с ChatCompletion в качестве метода.

Я думаю, что в последней версии OpenAI дополнения для чата недоступны. Возможно, есть какой-то другой метод. Если вы хотите, чтобы ваш код работал как есть, просто удалите текущую версию OpenAI и установите более старую версию, выполнив следующую команду. Это сработало для меня.

      pip uninstall openai
pip install -Iv  openai==0.27.8

https://pypi.org/project/openai/

так:

      from openai import OpenAI

client = OpenAI(
    # defaults to os.environ.get("OPENAI_API_KEY")
    api_key="My API Key",
)

chat_completion = client.chat.completions.create(
    messages=[
        {
            "role": "user",
            "content": "Say this is a test",
        }
    ],
    model="gpt-3.5-turbo",
)

Да, у меня есть файл с именем openai.py после изменения имени, которое он запускает.

Итак, я также столкнулся с той же проблемой, и это связано с тем, что в вашей системе нет последней версии библиотеки , возможно, это связано с тем, что при установке изrequirements.txtили, может быть, что-то еще, но вот как я это решил:

Вам нужно просто удалить текущую библиотеку и установить последнюю версию.openaiбиблиотечная версия.

      pip uninstall openai

pip install openai

Убедитесь, что у вас установлена ​​последняя версия библиотеки OpenAI. У меня та же проблема, и я решил ее, обновив версию Openai 26.5 до версии 27.2.

pip install --upgrade httpcore

Это сработало для меня

Конечная точка строго зависит от двигателя, использованного для завершения. Так какой двигатель вы использовали? Я не могу попробовать GPT4, потому что он еще не открыт для всех, но я полагаю, что API похож на GPT3.5. Например, если вы используете

      openai.Completion.create

вам нужно использовать механизм завершения текста, например text-davinci-003

Если вы используете

      openai.ChatCompletion.create

вам придется использовать чат-движок, например gpt-3.5-turbo

вот небольшой фрагмент кода, гдеself.COMPLETIONS_MODEL = "gpt-3.5-turbo"

        COMPLETIONS_API_PARAMS = {
      # We use temperature of 0.0 because it gives the most predictable, factual answer.
      "temperature": 0.0,
      "max_tokens": 256,
      "model": self.COMPLETIONS_MODEL,
  }    
  prompt = self.construct_prompt(
      query,
      document_embeddings,
      df
  )
  
  messages = [
      {"role":"system","content":"Rispondi a domande sull'utilizzo del servizio WebAPI di Passepartout"},
      {"role":"user","content":prompt}
    ]
  response = openai.ChatCompletion.create(
              messages=messages,
              **COMPLETIONS_API_PARAMS
          )  

Убедитесь, что ваша версия Python — 3.8 или 3.9. Я использовал версию 3.6, и у меня была та же проблема, только когда я обновил ее, она работала правильно.

pip install --upgrade openai --user

Это сработало для меня.

Другие вопросы по тегам