Quando fiz, disparou um erro de limite de requisições, então, fiz com programação defensiva, utilizando de try/except e das bibliotecas google.api_core.exceptions e time:
import os
from google.colab import userdata
import google.generativeai as genai
from google.api_core.exceptions import TooManyRequests
import time
os.environ['GOOGLE_API_KEY'] = userdata.get('GEMINI_API_KEY')
genai.configure(api_key=os.environ['GOOGLE_API_KEY'])
model = genai.GenerativeModel('gemini-2.5-flash')
chat = model.start_chat(history=[])
#agente que resume mensagens de e-mail
def resume_mensagens_emails(mensagens, initial_index=0):
print("Resumo das mensagens recebidas:")
for i in range(initial_index, len(mensagens)):
mensagem = mensagens[i]
try:
resposta = chat.send_message(f"resuma essa mensagem mencionando em poucas palavras o que ela quis dizer: {mensagem}")
print(resposta.text)
except TooManyRequests as e:
print(f"\nERRO: Limite de requisições excedido. Tentando novamente em 60 segundos. (Mensagem {i+1} de {len(mensagens)})")
print(f"Detalhes do erro: {e}")
time.sleep(60) # Espera 60 segundos
# Chama a função recursivamente a partir do índice atual
resume_mensagens_emails(mensagens, initial_index=i)
return # Retorna para evitar processamento duplicado após a chamada recursiva
emails = ['891pw6c6yo3@example.com',
'xh9ivlvhg@mail.net',
'2h96vx@test.org',
'qqh9yr5c3@test.org',
'7nqti1osvc@company.co',
'm3cr9laid@mail.net',
'ar83s3y@mail.net',
'lvtg4i0yg@company.co',
'2hbbrm@company.co',
'rzth909x9v2y@test.org',
'tid4hm@example.com',
'zjb7rmos@domain.info',
'20f5fxdr@example.com',
'goy00s911nek@example.com',
'1sygng@example.com',
'b88h8qj@company.co',
'vmo0xe6pe@example.com',
'viuqb4miwrcd@company.co',
'7p8ag07pj@company.co',
'ie949we@company.com']
mensagens = [
"Olá, gostaria de confirmar o recebimento da documentação enviada ontem.",
"Bom dia, segue em anexo o relatório solicitado para análise.",
"A reunião foi reagendada para sexta-feira às 14h.",
"Obrigado pelo contato. Retornaremos com mais informações em breve.",
"Informamos que seu cadastro foi atualizado com sucesso.",
"Estamos entrando em contato para lembrar do vencimento da sua fatura.",
"Seu pedido foi processado e será enviado nos próximos dias.",
"Parabéns! Sua inscrição foi aprovada com sucesso.",
"Gostaríamos de agendar uma demonstração do produto para sua equipe.",
"Segue a proposta comercial conforme solicitado.",
"A manutenção do sistema ocorrerá neste final de semana.",
"Recebemos sua solicitação e ela está em análise.",
"Lamentamos o inconveniente e estamos trabalhando na solução.",
"Sua senha foi alterada com sucesso.",
"Convidamos você para participar do nosso próximo evento online.",
"O pagamento referente ao contrato foi confirmado.",
"Por favor, revise o documento e envie seu feedback.",
"Estamos disponíveis para esclarecer quaisquer dúvidas.",
"A atualização do software foi concluída sem problemas.",
"Agradecemos sua preferência e confiança em nossos serviços."
]
resume_mensagens_emails(mensagens)