Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

Solucionado
(ver solução)
5
respostas

openai:: insufficient_quota

Boa noite,
Estou usando uma conta gratuita do OpenAI, quando tento executar código com o modelo 'gpt-3.5-turbo' da OpenAI, conforme sugerido na aula, é apresentado a mensagem "insufficient_quota", conforme abaixo. Devo fazer uma assinatura na plataforma?

Segue uma foto da área de Billing.

{'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'}}

Traceback (most recent call last):
File "/home/eduardo/Documents/EDUARDO-PESSOAL/CURSO/IA E AGENTES/CARREIRA/Nível 1 - Construção de Agentes Inteligentes com RAG/4741-LangChain-e-Python-criando-ferramentas-com-a-LLM-OpenAI/main_aula.py", line 55, in
resposta = openai_llm.chat.completions.create(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/eduardo/Documents/EDUARDO-PESSOAL/CURSO/IA E AGENTES/CARREIRA/Nível 1 - Construção de Agentes Inteligentes com RAG/4741-LangChain-e-Python-criando-ferramentas-com-a-LLM-OpenAI/langchain/lib/python3.12/site-packages/openai/_utils/_utils.py", line 287, in wrapper
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "/home/eduardo/Documents/EDUARDO-PESSOAL/CURSO/IA E AGENTES/CARREIRA/Nível 1 - Construção de Agentes Inteligentes com RAG/4741-LangChain-e-Python-criando-ferramentas-com-a-LLM-OpenAI/langchain/lib/python3.12/site-packages/openai/resources/chat/completions/completions.py", line 925, in create
return self._post(
^^^^^^^^^^^
File "/home/eduardo/Documents/EDUARDO-PESSOAL/CURSO/IA E AGENTES/CARREIRA/Nível 1 - Construção de Agentes Inteligentes com RAG/4741-LangChain-e-Python-criando-ferramentas-com-a-LLM-OpenAI/langchain/lib/python3.12/site-packages/openai/_base_client.py", line 1242, in post
return cast(ResponseT, self.request(cast_to, opts, stream=stream, stream_cls=stream_cls))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/eduardo/Documents/EDUARDO-PESSOAL/CURSO/IA E AGENTES/CARREIRA/Nível 1 - Construção de Agentes Inteligentes com RAG/4741-LangChain-e-Python-criando-ferramentas-com-a-LLM-OpenAI/langchain/lib/python3.12/site-packages/openai/_base_client.py", line 1037, 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'}}

Area de Billing da plataforma OpenAI

5 respostas
solução!

Olá, Eduardo! Tudo bem?

Esse erro (insufficient_quota / código 429) é uma questão de billing na sua conta OpenAI.

A API da OpenAI é paga por uso (créditos pré-pagos), separada da assinatura do ChatGPT Plus. Diferente do ChatGPT (que tem um plano gratuito para uso via chat), atualmente os créditos gratuitos automáticos não é garantido para novas contas. Ou seja:

  • Ter uma conta OpenAI ≠ ter créditos na API
  • Você precisa adicionar um cartão e colocar créditos (mesmo que poucos dólares) na aba Billing do platform.openai.com
  • Sem saldo disponível, qualquer chamada retorna exatamente esse erro insufficient_quota, mesmo que o modelo usado (gpt-3.5-turbo) seja "barato"

Pela sua tela de Billing, dá pra confirmar: se não aparece nenhum crédito ativo ou método de pagamento configurado, é isso.

O que fazer?

Opção 1 — Assinar créditos na OpenAI
Vá em Billing > Add payment method e adicione um valor pequeno (US$ 5 já é suficiente pra rodar bastante coisa com gpt-3.5-turbo, que é bem barato). Isso não é o mesmo que assinar o ChatGPT Plus, são créditos de API, cobrados por uso (pay-as-you-go).

Opção 2 — Usar o Gemini (gratuito) como alternativa
Se você não quiser gastar nada agora, dá pra seguir o curso usando o Google Gemini, que tem uma camada gratuita na API bem generosa. Com LangChain, é só trocar o pacote. O código ficaria mais ou menos assim:

import google.generativeai as genai
from dotenv import load_dotenv
import os

load_dotenv()
api_key = os.getenv("GOOGLE_API_KEY")

numero_dias = 7
numero_criancas = 2
atividade = "música"
prompt = f"Crie um roteiro de viagem de {numero_dias} dias, para uma familia com {numero_criancas} crianças, que gosta de {atividade}"

genai.configure(api_key=api_key)

modelo = genai.GenerativeModel(
    model_name="gemini-1.5-flash",
    system_instruction="Você é um assistente de roteiro de viagens."
)

resposta = modelo.generate_content(prompt)

print(resposta)

resposta_em_texto = resposta.text
print(resposta_em_texto)

Você consegue gerar a chave gratuita em https://aistudio.google.com/apikey.

A lógica de uso com LangChain é bem parecida com a da OpenAI, então dá pra acompanhar a aula adaptando o código sem muita dificuldade. Deixo também um tópico abaixo da adaptação do código por um aluno.

Qualquer dúvida na adaptação do código pra Gemini, posta aqui que a gente ajuda!
Conseguiu rodar por aí, Eduardo?

Conteúdo relacionado:
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

eu tive esse problema também, tentei usar o gemini e também deu o mesmo erro de atingir a cota, mas ja na primeira vez usando, nao to conseguindo fazer o curso por isso.

Oi Kessy, tudo bem?

Para te ajudar de forma mais direcionada, indico que abra uma novo tópico contendo o código que está enfrentando problemas e mensagem de erro completa.

Assim, a equipe de monitores poderá te ajudar de forma mais precisa.

Ficaremos no aguardo!

Eu falei ué, atingiu o limite de uso, ja na primeira vez que vou usar, to dando continuidade no curso usando ia local mesmo, não consegui nem gpt nem gemini

Olá, Kessy!

Entendo perfeitamente a sua frustração. Começar um curso e já dar de cara com barreiras técnicas e erros de cota é realmente chato, mas não desista!

Quero te explicar o que pode estar acontecendo com o Gemini, pois a dinâmica dele é um pouco diferente da OpenAI:

  • O Gemini é bem mais generoso: Diferente da OpenAI, que bloqueia o acesso imediatamente se você não tiver saldo em dinheiro na conta, o Google Gemini oferece uma camada gratuita real e mais generosa através do Google AI Studio.
  • A restrição por minuto (RPM): O plano gratuito do Gemini possui um limite de requisições por minuto, dependendo do modelo. Se o seu código disparou muitas chamadas seguidas ou se houve uma instabilidade momentânea na API, ela bloqueia temporariamente. Nesses casos, basta aguardar apenas alguns minutos e tentar rodar novamente.
  • Erros na primeira tentativa: Como você mencionou que o erro ocorreu logo de primeira, possa ser algum pequeno detalhe de configuração. Pode ser uma chave de API (API_KEY) que não foi lida corretamente pelo código, um erro na estrutura do seu arquivo .env, ou até mesmo um detalhe na sintaxe ao instanciar o modelo no LangChain.

Por isso eu havia solicitado que você enviasse o seu código atualizado e a mensagem de erro completa. Olhando o erro exato conseguimos identificar qual o problema e buscar alternativas.

Parabéns pela proatividade em buscar uma alternativa local para não travar o seu aprendizado!

Caso se sinta confortável, você pode compartilhar seu código no fórum.

Bons estudos!