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

Aula 3 - Faça como eu fiz: textos, loops e APIs

# !pip install groq
import os
import random

from groq import Groq

client = Groq()

lista_emails = [
    "  PROMOÇÃO IMPERDÍVEL: GANHE DESCONTO HOJE!  ",
    "reunião de alinhamento do projeto às 14h, não se atrase.",
    "URGENTE: atualização de segurança do sistema necessária!!!",
    "Parabéns! Você foi selecionado para a próxima fase do processo seletivo."
]

remetentes_sujos = ["  joão da SILVA ", " mArIa sOuZa  ", "  cArLoS rObErTo "]

def padronizar_texto(texto):
    texto_tratado = texto.strip().upper()
    texto_tratado = texto_tratado.replace("!!!", ".")
    return texto_tratado

def corrigir_nome_remetente(nome):
    palavras = nome.strip().split()
    nome_corrigido = " ".join([palavra.capitalize() for palavra in palavras])
    return nome_corrigido

def chamada_api_groq_resumo(email_texto):
    try:
        completion = client.chat.completions.create(
            model="llama3-8b-8192",
            messages=[
                {
                    "role": "system", 
                    "content": "Você é um assistente focado em produtividade. Resuma o e-mail fornecido em apenas uma frase curta e direta."
                },
                {
                    "role": "user", 
                    "content": f"Resuma este e-mail: {email_texto}"
                }
            ],
            temperature=0.5,
            max_tokens=50
        )
        return f"RESUMO GROQ: {completion.choices[0].message.content.strip()}"
    except Exception as e:
        return f"Erro ao chamar API do Groq: {e}"

print("=== 1. SEQUÊNCIAS NUMÉRICAS E VALIDAÇÃO ===")
contador_pares = 0
for i in range(1, 6):
    if i % 2 == 0:
        print(f"O número {i} é PAR.")
        contador_pares += 1
print(f"Total de números pares encontrados no range: {contador_pares}")
print("-" * 50)


print("=== 2. MAPEAMENTO DE REMETENTES COM DICIONÁRIO ===")
cadastro_remetentes = {}

for nome in remetentes_sujos:
    nome_limpo = corrigir_nome_remetente(nome)
    prioridade_aleatoria = random.choice(["Alta", "Média", "Baixa"])
    cadastro_remetentes[nome_limpo] = prioridade_aleatoria

for chave, valor in cadastro_remetentes.items():
    print(f"Remetente: {chave} | Nível de Prioridade: {valor}")
print("-" * 50)


print("=== 3. PROCESSAMENTO CENTRAL DE E-MAILS COM GROQ ===")
def processar_caixa_entrada(emails):
    for index, email in enumerate(emails, start=1):
        email_limpo = padronizar_texto(email)

        resumo_api = chamada_api_groq_resumo(email_limpo)
        
        print(f"--- E-MAIL #{index} ---")
        print(f"Original: {email.strip()}")
        print(f"Tratado : {email_limpo}")
        print(f"{resumo_api}")
        print("-----------------------")

processar_caixa_entrada(lista_emails)
1 resposta

Olá, Julia! Como vai?

Parabéns pela realização das atividades!

Vi que você apresentou um código bem estruturado para processamento de e-mails, aplicou funções de padronização de texto e correção de remetentes, além de integrar a API Groq para gerar resumos automáticos. Esse conjunto mostra organização, criatividade e aplicação prática de IA em produtividade, pontos que tornam o exercício muito relevante para cenários reais de automação.

Se quiser aprofundar ainda mais, algumas boas práticas são:

  • Adicionar métricas: medir tempo de processamento ou qualidade dos resumos para avaliar eficiência.
  • Integrar visualização: gerar relatórios ou dashboards para acompanhar padrões de mensagens recebidas.
  • Expandir funcionalidades: incluir classificação automática de prioridade dos e-mails com base no conteúdo.

Ah uma pergunta: O que você considera mais útil nesse tipo de solução, automatizar tarefas repetitivas para ganhar tempo ou extrair insights rápidos que ajudam na tomada de decisão?

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

AluraConte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!