Olá, pessoal.
Coloquei um tratamento de exceção. Por ser uma versão gratuita, o Gemini-2.5-Flash possui um limite de 10 requisições por minuto. A minha chave da API está salva como variável de ambiente no Windows.
import time
from google import genai
from google.genai import errors
client = genai.Client()
prompt = input("Como posso ajudar? ")
while prompt.lower() != "sair":
try:
# Envia a requisição para o modelo
response = client.models.generate_content(
model='gemini-2.5-flash', contents=prompt
)
print(response.text)
print("\n")
# Se deu tudo certo, pede a próxima pergunta
prompt = input("Como posso ajudar? ")
except errors.ClientError as e:
# Tratamento específico para limite de requisições (Rate Limit)
if e.status_code == 429:
print(
"Ops! Atingi o limite de requisições. Aguardando 10 segundos para tentar de novo..."
)
time.sleep(10) # Pausa o script de verdade
# Como não pedimos um novo input aqui, o loop reinicia tentando a mesma pergunta automaticamente!
else:
# Lida com outros erros da API (chave inválida, sem internet, etc.)
print(f"Ocorreu um erro na API: {e}")
prompt = input("Como posso ajudar? ")