Skip to main content

Levantamento de requisitos - Modelo Atual


1. Visão Geral e Escopo


Objetivo: Automatizar a triagem de e-mails comerciais das empresas Autvix e Advix Soluções , utilizando LLM para classificar demandas contra uma base de serviços (BUS).


Principais Metas:

  • Triagem automática de solicitações via e-mail e anexos.
  • Redução do tempo operacional e atrasos na resposta ao cliente.
  • Persistência de dados para auditoria e análise via Metabase.

2. Requisitos Funcionais (RF)

ID

Descrição

Referência Técnica

RF01

Capturar e-mails e anexos das caixas comerciais e salvar no OneDrive.

Power Automate

RF02

Identificar o remetente e validar se o domínio já existe na base de contatos.

Tabela contacts

RF03

Converter anexos (.pdf, .xlsx, .zip) para texto para processamento pelo LLM .

Scripts Python

RF04

Classificar e-mails em categorias pré-definidas com nível de confiança e justificativa.

LLM gpt-oss:120b

RF05

Monitorar a saúde dos serviços de ingestão e processamento.

Tabela service_heartbeat

RF06

Armazenar o corpo do e-mail em HTML e texto plano para rastreabilidade.

Tabela emails


3. Requisitos Não Funcionais (RNF)

  • RNF01 - Integridade Referencial: O sistema deve garantir que nenhum e-mail seja órfão de um contato ou de uma classificação através de chaves estrangeiras (FK).
  • RNF02 - Desempenho de Busca: Utilização de índices (KEY) em campos críticos como tipo, recipient, domain e received_at para otimizar os dashboards.
  • RNF03 - Padronização de Caracteres: Todo o banco deve utilizar o charset utf8mb4_unicode_ci para suportar caracteres especiais e emojis de e-mails.
  • RNF04 - Disponibilidade: O status do sistema deve ser reportado via heartbeat em intervalos regulares.

4. Modelo de Dados (Arquitetura do Banco)

O banco de dados MySQL é o coração da persistência do EscopoVix, estruturado da seguinte forma:

A. Núcleo de Comunicação

  • contacts: Gerencia os remetentes. Classifica o tipo entre CLIENTE, PORTAL ou DESCONHECIDO e marca se o contato já está cadastrado no sistema legiado (is_cadastrado).
  • emails: Armazena os metadados da mensagem, o caminho da pasta no OneDrive (folder_path), a contagem de anexos e o conteúdo textual.

B. Inteligência e Classificação

  • classifications: Armazena o veredito do modelo gpt-oss:120b.
    • Tipos permitidos: DENTRO_ESCOPO, FORA_ESCOPO, ANALISE_TECNICA, NAO_SOLICITACAO.
    • Campos de IA: confidence (0 a 1) e reasoning (explicação lógica da IA para aquela decisão).

C. Apoio e Monitoramento

  • cliente: Tabela de referência para cruzamento de dados de domínio, CNPJ e Razão Social.
  • service_heartbeat: Registra se o serviço watcher ou processor está running, stopped ou em error, incluindo metadados em JSON para diagnóstico.

5. Fluxo de Dados e Pipeline

  1. Ingestão: Power Automate salva e-mail no OneDrive.
  2. Detecção: O watcher detecta a nova pasta.
  3. Identificação: O sistema busca ou cria o registro em contacts via domínio do e-mail.
  4. Processamento: O LLM analisa o texto e gera um registro em classifications com o reasoning.
  5. Finalização: O registro em emails é atualizado com o classificacao_id e marcado como processado.