4
respostas

[Dúvida] Código passado pelo professor não funciona

O código passado pelo professor nessa aula não funciona. Já configurei o ambiente como indicado, tento rodar o código e aparece o seguinte erro, que não consegui identificar do que se trata. O VS Code aponta um problema na linha de código
modelo = ChatOpenAI(
model="gpt-3.5-turbo",
temperature=0.5,
api_key=api_key ERRO
)

Abaixo, segue mensagem de erro:

Traceback (most recent call last):
File "d:\Documentos\VS Code\Projects\4741-LangChain-e-Python-criando-ferramentas-com-a-LLM-OpenAI-main\main2.py", line 20, in
resposta = modelo.invoke(prompt)
File "D:\Documentos\VS Code\Projects\4741-LangChain-e-Python-criando-ferramentas-com-a-LLM-OpenAI-main\langchain\Lib\site-packages\langchain_core\language_models\chat_models.py", line 471, in invoke
self.generate_prompt(
~~~~~~~~~~~~~~~~~~~~^
[self._convert_input(input)],
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<6 lines>...
**kwargs,
^^^^^^^^^
).generations[0][0],
^
File "D:\Documentos\VS Code\Projects\4741-LangChain-e-Python-criando-ferramentas-com-a-LLM-OpenAI-main\langchain\Lib\site-packages\langchain_core\language_models\chat_models.py", line 1749, in generate_prompt
return self.generate(prompt_messages, stop=stop, callbacks=callbacks, **kwargs)
~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Documentos\VS Code\Projects\4741-LangChain-e-Python-criando-ferramentas-com-a-LLM-OpenAI-main\langchain\Lib\site-packages\langchain_core\language_models\chat_models.py", line 1556, in generate
self._generate_with_cache(
~~~~~~~~~~~~~~~~~~~~~~~~~^
m,
^^
...<2 lines>...
**kwargs,
^^^^^^^^^
)
^
File "D:\Documentos\VS Code\Projects\4741-LangChain-e-Python-criando-ferramentas-com-a-LLM-OpenAI-main\langchain\Lib\site-packages\langchain_core\language_models\chat_models.py", line 1896, in _generate_with_cache
result = self._generate(
messages, stop=stop, run_manager=run_manager, **kwargs
)
File "D:\Documentos\VS Code\Projects\4741-LangChain-e-Python-criando-ferramentas-com-a-LLM-OpenAI-main\langchain\Lib\site-packages\langchain_openai\chat_models\base.py", line 1655, in _generate
_handle_openai_api_error(e)
~~~~~~~~~~~~~~~~~~~~~~~~^^^
File "D:\Documentos\VS Code\Projects\4741-LangChain-e-Python-criando-ferramentas-com-a-LLM-OpenAI-main\langchain\Lib\site-packages\langchain_openai\chat_models\base.py", line 1650, in _generate
raw_response = self.client.with_raw_response.create(**payload)
File "D:\Documentos\VS Code\Projects\4741-LangChain-e-Python-criando-ferramentas-com-a-LLM-OpenAI-main\langchain\Lib\site-packages\openai_legacy_response.py", line 367, in wrapped
return cast(LegacyAPIResponse[R], func(*args, **kwargs))
~~~~^^^^^^^^^^^^^^^^^
File "D:\Documentos\VS Code\Projects\4741-LangChain-e-Python-criando-ferramentas-com-a-LLM-OpenAI-main\langchain\Lib\site-packages\openai_utils_utils.py", line 287, in wrapper
return func(*args, **kwargs)
File "D:\Documentos\VS Code\Projects\4741-LangChain-e-Python-criando-ferramentas-com-a-LLM-OpenAI-main\langchain\Lib\site-packages\openai\resources\chat\completions\completions.py", line 1211, in create
return self._post(
~~~~~~~~~~^
"/chat/completions",
^^^^^^^^^^^^^^^^^^^^
...<47 lines>...
stream_cls=Stream[ChatCompletionChunk],
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "D:\Documentos\VS Code\Projects\4741-LangChain-e-Python-criando-ferramentas-com-a-LLM-OpenAI-main\langchain\Lib\site-packages\openai_base_client.py", line 1314, in post
return cast(ResponseT, self.request(cast_to, opts, stream=stream, stream_cls=stream_cls))
~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Documentos\VS Code\Projects\4741-LangChain-e-Python-criando-ferramentas-com-a-LLM-OpenAI-main\langchain\Lib\site-packages\openai_base_client.py", line 1087, in request
raise self._make_status_error_from_response(err.response) from None
openai.RateLimitError: Error code: 429 - {'error': {'message': 'You exceeded your current quota, please check your plan and billing details. For more information on this error, read the docs: https://platform.openai.com/docs/guides/error-codes/api-errors.', 'type': 'insufficient_quota', 'param': None, 'code': 'insufficient_quota'}}

4 respostas

Oi Gabriel, tudo bem?

O erro que você está enfrentando, não é um erro de código ou um problema de instalação das bibliotecas, mas sim uma questão de limite de uso na API da OpenAI.

O ponto crucial do seu Log de erro está aqui:

openai.RateLimitError: Error code: 429 - {'error': {'message': 'You exceeded your current quota, please check your plan and billing details...'}}

A OpenAI não oferece créditos gratuitos ilimitados ou vitalícios para contas novas. Se você criou sua conta na OpenAI há algum tempo, os créditos de "boas-vindas" podem ter expirado. Você pode conferir ao acessar o link https://platform.openai.com/settings/organization/limits. Por exemplo, o meu mostra assim:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade
Utilizei a tradução automática do navegador

Como resolver

Para que o código do seu professor funcione, você precisará seguir estes passos:

  1. Acesse o Dashboard da OpenAI: Vá para platform.openai.com/settings/organization/billing/overview.
  2. Verifique seu Saldo: Olhe em "Usage" para ver se ainda há créditos ativos. Se estiver zerado ou com a barra de progresso indicando "Expired", o erro continuará ocorrendo.
  3. Adicione Créditos: A OpenAI utiliza um sistema pré-pago. Você precisa clicar em "Add to primary balance" e adicionar o valor mínimo (geralmente $5 dólares).

Agora caso, queira uma alternativa gratuita, você pode utilizar o Google Gemini ou o Groq.

Uma alternativa gratuita para continuar o curso

Se você não quiser gastar com a API da OpenAI agora, você pode adaptar o código para usar o Google Gemini ou o Groq, que possuem camadas gratuitas mais generosas.

Abaixo deixo um tópico que um aluno compartilhou como sugestão:

Espero ter ajudado.

Fico à disposição!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Obrigado pela ajuda. Vou utilizar o Gemini para seguir com as atividades.

Sobre os créditos, curioso... porque criei uma conta nova na OpenAI para dar continuidade nas aulas e, até onde consta na página https://platform.openai.com/settings/organization/limits , a conta gratuita tem 40.000 TPM para a versão gpt-3.5-turbo (segue imagem)

Insira aqui a descrição dessa imagem para ajudar na acessibilidade
Se você puder me ajudar a entender melhor isso, ou de repente indicar algum lugar na plataforma da Alura onde eu possa aprender sobre isso, agradeço.

Usa modelos free via openrouter ou assina mini max plan tokens

Oi Gabriel, tudo bem?

Essa confusão acontece porque a interface da OpenAI separa "capacidade técnica" de "créditos financeiros".

O que você viu na imagem de Rate Limits (como os 40.000 TPM) indica o limite de velocidade da sua conta, ou seja, o quanto de informação você pode enviar por minuto sem que o sistema fique sobrecarregado. Os Rate Limits (TPM) indicam o quanto de tráfego a sua conta suporta receber, mas eles não são créditos de uso.

Após atingir os limites de créditos, a conta passa a exibir esse erro de cota (429 - insufficient_quota), mesmo que você ainda tenha "espaço" nos seus limites de taxa.

Você pode confirmar se ainda tem algum valor ativo acessando a aba Usage no seu Dashboard. Se o gráfico estiver zerado ou marcado como "Expired", a API não processará as requisições.

Você testou o gemini? Funcionou com o esperado?

Para saber mais:

O link está em inglês, mas você poderá utilizar a tradução automática do navegador

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!