Произошла ошибка: у модуля 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. Я запустил скрипт ниже:
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.
Конечная точка строго зависит от двигателя, использованного для завершения. Так какой двигатель вы использовали? Я не могу попробовать 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, и у меня была та же проблема, только когда я обновил ее, она работала правильно.