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)
6
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

6 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!

Interessante esse forum,

tambem tentei usar essa API da Openai porem aparece esse mesmo codigo que citaram: "429 credit_balance_exhausted"
entretanto o que foi resaltado pela instrutora de usar a api do GEMINI, tem um curso que tem uma base inicial e boa de Python com IA, (se chama: Python: Inteligência Artificial Aplicada https://cursos.alura.com.br/course/python-ia-aplicada) que tem como usar essa api de forma bem simples e bem rapida. a diferença que la ele usa o terminal do COLAB invez do VS code.

enfim, é um desafio tentar seguir esse curso usando outra api quando o instrutor usa uma, acho que gasta mais tempo, mas ajuda aprender tambem , então precisa avaliar o que é melhor para cada um .