Aplicação web com IA para classificação automática de emails corporativos e geração de respostas inteligentes.
O Email Classifier AI automatiza a leitura e classificação de emails corporativos do setor financeiro, eliminando a necessidade de triagem manual. A aplicação analisa o conteúdo de cada email e:
- 🏷️ Classifica o email como Produtivo ou Improdutivo
- 💬 Gera uma resposta automática adequada ao contexto
- 📊 Exibe um índice de confiança da classificação
- 📁 Suporta upload de arquivos
.txte.pdf
| Funcionalidade | Descrição |
|---|---|
| 📝 Entrada por texto | Cole o conteúdo do email diretamente no formulário |
| 📁 Upload de arquivo | Envie arquivos .txt ou .pdf para processamento |
| 🤖 Classificação com IA | Modelo LLaMA 3.3 70B via Groq API |
| 💬 Resposta automática | Sugestão de resposta gerada pela IA |
| 📊 Índice de confiança | Percentual de certeza da classificação |
| 📋 Copiar resposta | Botão para copiar a resposta sugerida |
| 🌙 Interface dark | Design moderno com tema escuro |
email-classifier/
├── 📂 backend/
│ ├── main.py # Servidor FastAPI e rotas da API
│ ├── classifier.py # Integração com a IA (Groq API)
│ ├── utils.py # Leitura de arquivos .txt e .pdf
│ └── tests/
│ ├── __init__.py
│ └── test_classifier.py # Testes automatizados com pytest
│
├── 📂 frontend/
│ ├── index.html # Interface web
│ └── style.css # Estilização com tema escuro
│
├── 📂 .github/
│ └── workflows/
│ └── ci.yml # Pipeline CI/CD com GitHub Actions
│
├── .env # Variáveis de ambiente (não versionado)
├── .gitignore
├── Dockerfile # Configuração do container
├── docker-compose.yml # Orquestração local
├── requirements.txt # Dependências Python
└── README.md
- Python 3.10 — linguagem principal
- FastAPI — framework web moderno e de alta performance
- Uvicorn — servidor ASGI
- Groq API + LLaMA 3.3 70B — modelo de linguagem para classificação e geração de respostas
- PyPDF2 — extração de texto de arquivos PDF
- python-dotenv — gerenciamento de variáveis de ambiente
- HTML5 + CSS3 — interface responsiva com tema escuro
- JavaScript — consumo da API e interatividade
- Docker + Docker Compose — containerização da aplicação
- GitHub Actions — CI/CD automatizado
- Render — hospedagem na nuvem (free tier)
- Python 3.10+
- Docker Desktop
- Git
- Chave de API do Groq
1. Clone o repositório:
git clone https://github.com/Defendi22/AutoU
cd email-classifier2. Crie o arquivo .env na raiz do projeto:
GROQ_API_KEY=sua_chave_aquidocker-compose upAcesse: http://localhost:8000
1. Crie e ative o ambiente virtual:
python -m venv venv
# Windows
venv\Scripts\activate
# Linux/Mac
source venv/bin/activate2. Instale as dependências:
pip install -r requirements.txt3. Inicie o servidor:
cd backend
uvicorn main:app --reloadAcesse: http://localhost:8000
Os testes cobrem os principais cenários da API usando pytest com mocks para não depender da API externa.
cd backend
pytest tests/ -v| Teste | Descrição |
|---|---|
test_health_check |
Verifica se o servidor está respondendo |
test_classify_produtivo |
Classifica corretamente email produtivo |
test_classify_improdutivo |
Classifica corretamente email improdutivo |
test_classify_sem_conteudo |
Retorna erro 400 sem conteúdo |
test_classify_texto_vazio |
Retorna erro 400 para texto vazio |
A cada git push na branch main, o GitHub Actions executa automaticamente:
Push para main
│
▼
┌─────────────┐
│ Roda testes │ ← pytest tests/ -v
└──────┬──────┘
│ passou
▼
┌──────────────┐
│ Deploy Render │ ← trigger automático via webhook
└──────────────┘
Verifica se o servidor está online.
Resposta:
{ "status": "ok" }Classifica o email e retorna a análise.
Parâmetros (form-data):
| Campo | Tipo | Descrição |
|---|---|---|
email_text |
string | Texto do email (opcional) |
file |
file | Arquivo .txt ou .pdf (opcional) |
Resposta:
{
"categoria": "Produtivo",
"confianca": 90,
"motivo": "Solicitação de suporte técnico",
"resposta_sugerida": "Prezado, agradecemos seu contato..."
}| Categoria | Descrição | Exemplos |
|---|---|---|
| ✅ Produtivo | Requer ação ou resposta | Suporte técnico, dúvidas, status de casos |
| ⏸️ Improdutivo | Não requer ação imediata | Felicitações, agradecimentos, mensagens sociais |
| Variável | Descrição |
|---|---|
GROQ_API_KEY |
Chave de API do Groq (obrigatória) |
⚠️ Nunca versione o arquivo.env. Ele já está no.gitignore.
Este projeto foi desenvolvido como desafio técnico. Espero que gostem 😀