2
respostas

Erro na versão o OpenAI

Alguém conseguir resolver?

Erro no GPT3:

You tried to access openai.ChatCompletion, but this is no longer supported in openai>=1.0.0 - see the README at https://github.com/openai/openai-python for the API.

You can run openai migrate to automatically upgrade your codebase to use the 1.0.0 interface.

Alternatively, you can pin your installation to the old version, e.g. pip install openai==0.28

A detailed migration guide is available here: https://github.com/openai/openai-python/discussions/742

2 respostas

Teve uma mega atualização na OpenAI, daí os cursos que utilizam elas tão dando esse erro eles disseram que tão trabalhando em atualização dos cursos

Olá Fernando

Esse curso foi feito com uma versão antiga da biblioteca da OpenAI. Pela mensagem de erro que voce mostrou aqui acredito que você está utilizando uma versão mais recente da biblioteca. Eu penso em duas soluções possiveis para o seu problema.

Solução 1: Utilizar a mesma versão da biblioteca que a utilizada na aula.

Para isso basta ir no terminal e desinstalar a biblioteca com o seguinte comando:

pip uninstall openai

Vai ser necessário realizar uma confirmaçao no terminal com "y" e enter para desinstalar. E então instalar a mesma versão utilizada no curso com o seguinte comando:

pip install openai==0.27.9

Dessa maneia acredito que seu código irá rodar exatamente como o apresentado na aula.

Soluçao 2: Adaptar o seu código para rodar com a versão mais nova da biblioteca, que é a forma que eu estou fazendo. Eu estou utilizando a versão 1.5.0

no arquivo app.py é necessário criar um client para se comunicar com a API, e pode ser feito da seguinte maneira:

# código omitido…

import openai
from dotenv import load_dotenv
from time import sleep

app = Flask(__name__)
app.secret_key = 'alura'
    
load_dotenv()
client = openai.OpenAI()

# código omitido…

e aí a chamada de response dentro da funçao bot() deve ser realizada da seguinte maneira:

def bot(prompt):
      # código omitido…
   
            response = client.chat.completions.create(
                messages=[
                
        # código omitido…

e por fim a funçao trata_resposta() ficará da seguinte forma:

def trata_resposta(prompt):
    for resposta in bot(prompt):
            pedaco_da_resposta = resposta.choices[0].delta.content
            if pedaco_da_resposta is not None:
                    yield pedaco_da_resposta

Espero que alguma das soluções lhe ajude.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software