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!

1
resposta

Resumido de E-mail

Utilizei esse código:

def resumidor_de_emails(lista_de_emails):
    for email in lista_de_emails:
        resposta = client.interactions.create(
            model='gemini-3.5-flash', 
            input=f'Vou te mandar o corpo de um e-mail. Quero que você o resuma em apenas 1 linha, passando o intuito daquele e-mail. Segue o e-mail: {email}'
            )
        print(resposta.output_text)
        print("-" * 50)

Após chamar por meio do resumidor_de_emails(email_bodies), resumiu os itens abaixo:

Parabenizar e reconhecer o colaborador pelo seu empenho e dedicação no último projeto.
--------------------------------------------------
Solicitação de disponibilidade para reunião de alinhamento da sprint amanhã às 14h.
--------------------------------------------------
Envio do relatório mensal e disponibilidade para o esclarecimento de dúvidas.
--------------------------------------------------
**Envio da versão final do artigo ao professor conforme o cronograma da disciplina.**
--------------------------------------------------
Solicitação de prorrogação do prazo de entrega do trabalho por mais dois dias devido a problemas de saúde.

--------------------------------------------------
**Resumo:** Proposta de reunião virtual para discutir uma possível parceria entre as empresas.

**No entanto, depois da quinta frase apresentou o erro abaixo:

CreateInteractionClientError              Traceback (most recent call last)
/usr/local/lib/python3.13/dist-packages/google/genai/_gaos/interactions.py in create(self, request, api_version, extra_headers, extra_query, extra_body, timeout, **body_kwargs)
    710         try:
--> 711             return _speakeasy_parse_response(http_res)
    712         except Exception as parse_exc_:

6 frames
CreateInteractionClientError: You exceeded your current quota, please check your plan and billing details. For more information on this error, head to: https://ai.google.dev/gemini-api/docs/rate-limits. To monitor your current usage, head to: https://ai.dev/rate-limit. 
* Quota exceeded for metric: generativelanguage.googleapis.com/generate_content_free_tier_requests, limit: 5, model: gemini-3.5-flash
Please retry in 14.30218305s.

The above exception was the direct cause of the following exception:

RateLimitError                            Traceback (most recent call last)
/usr/local/lib/python3.13/dist-packages/google/genai/_gaos/utils/response_helpers.py in raise_parse_error(hooks, hook_ctx, response, exc)
     90     if parse_error is exc:
     91         raise exc.with_traceback(exc.__traceback__)
---> 92     raise parse_error from exc
     93 
     94 

RateLimitError: Error code: 429 - {'error': {'message': 'You exceeded your current quota, please check your plan and billing details. For more information on this error, head to: https://ai.google.dev/gemini-api/docs/rate-limits. To monitor your current usage, head to: https://ai.dev/rate-limit. \n* Quota exceeded for metric: generativelanguage.googleapis.com/generate_content_free_tier_requests, limit: 5, model: gemini-3.5-flash\nPlease retry in 14.30218305s.', 'code': 'too_many_requests'}}

Como corrigir?

1 resposta

Oi, Daiane. Tudo bem?

O código está funcionando corretamente até atingir o limite de requisições da API. A própria mensagem informa limit: 5, ou seja, sua conta atingiu o limite de 5 requisições permitidas para esse modelo dentro da janela de uso. Como o client.interactions.create() está dentro do for, cada e-mail gera uma nova requisição à API. Por isso, os primeiros e-mails foram processados e depois retornou o erro 429 (Too Many Requests).

Uma alternativa para testar é aguardar o tempo informado na mensagem e executar novamente:

import time

def resumidor_de_emails(lista_de_emails):
    for email in lista_de_emails:
        resposta = client.interactions.create(
            model='gemini-3.5-flash',
            input=f'Vou te mandar o corpo de um e-mail. Quero que ele seja resumido em apenas 1 linha. E-mail: {email}'
        )
        print(resposta.output_text)
        print("-" * 50)
        time.sleep(15)

Esse código adiciona uma pausa entre as requisições, reduzindo a velocidade de chamadas à API. Porém, a pausa não aumenta a quantidade total de requisições disponíveis na cota gratuita.

Para uma atividade do curso, não é necessário alterar o código por causa desse erro: a lógica da função está correta. O limite está relacionado ao acesso à API.

Conte com o fórum sempre que precisar. Abraços :)

Caso este post tenha lhe ajudado, por favor, marcar como solucionado