Oi, Claudionor! Como vai?
O erro 429 (RESOURCE_EXHAUSTED) vem de cota/limite de taxa na API. O caminho é fazer menos chamadas, resumir textos menores e esperar entre tentativas.
Passo a passo:
- Confirme a cota no Google Cloud e o projeto/chave certos.
- Quebre o e-mail em partes menores antes de enviar ao modelo.
- Espere e tente de novo quando vier 429 (retry com pequenos atrasos).
- Evite paralelismo alto (chamadas em série ou bem poucas em paralelo).
Veja este exemplo: um fluxo simples com pausa e retry para reduzir os erros.
# python 3.x
# objetivo: enviar menos chamadas, com pausa e retry
# comentarios sem acentuacao
import time
import random
class Api429(Exception):
pass
def gemini_summarize(text):
# troque por chamada real da API Gemini
# return client.generate_content("resuma: " + text).text
return "resumo: " + text[:60]
def summarize_email_body(body, max_chars=2000):
# corta texto para caber melhor na cota
return gemini_summarize(body[:max_chars])
def summarize_with_retry(body, max_attempts=3, base_delay=1.0):
for i in range(max_attempts):
try:
return summarize_email_body(body)
except Api429:
# atraso exponencial com leve aleatoriedade (jitter)
delay = base_delay * (2 ** i) + random.uniform(0, 0.3)
time.sleep(delay)
raise RuntimeError("falhou apos retries")
# uso:
# resumo = summarize_with_retry(corpo_email)
# print(resumo)
O que este código faz (bem direto)
- Corta o texto para reduzir tokens.
- Tenta de novo quando falha por limite, com pequena espera.
- Evita muitas chamadas de uma vez (chama em série).
Ou seja:
- Resuma um e-mail por vez.
- Use
max_attempts=3 e base_delay=1.0–2.0s. - Limite o texto do e-mail a 1–2k caracteres antes da chamada.
Importante: a cota de uso é controlada pelo próprio serviço Gemini, dentro da sua conta no Google Cloud. Ou seja, mesmo que o código esteja certo, o erro pode continuar aparecendo até que o limite diário ou por minuto seja liberado novamente. Nesse caso, você pode aguardar o tempo de renovação da cota ou solicitar aumento diretamente pelo painel do Google Cloud.
Espero ter ajudado. Conte com o apoio do Fórum na sua jornada. Fico à disposição.
Abraços e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado