Análise de comunicações com modelos de IA executados localmente.
Problema
Analisar mensagens, e-mails e logs de rede com IA geralmente significa enviar dados sensíveis a serviços externos.
Abordagem
Um pipeline em Python normaliza comunicações em CSV e JSON, mapeia quem fala com quem em um grafo, indexa o conteúdo em embeddings para busca semântica e gera análises com um LLM. Os modelos rodam localmente, via Ollama.
Status
Protótipo. Prova de conceito: explora uma arquitetura, sem preparo para produção.
Fig. 1 Ilustração do tipo de análise feita pelo projeto, com comunidades, o nó mais central e uma mensagem isolada. Não são dados reais.
Como funciona
Ingestão. Parsers dedicados leem comunicações, e-mails e logs de rede em CSV ou JSON, normalizam timestamps e validam cada registro antes da análise.
Grafo de comunicação. O NetworkX monta um grafo direcionado de remetentes e destinatários. Métricas de centralidade apontam os nós mais influentes, e a detecção de comunidades por modularidade revela grupos.
Busca semântica. Cada mensagem vira um embedding (nomic-embed-text) indexado no FAISS. Sobre esse índice rodam a busca por similaridade, o agrupamento (K-Means ou DBSCAN) e a detecção de anomalias: mensagens semanticamente isoladas das vizinhas.
Análise com LLM local. O Qwen2.5 7B, servido pelo Ollama via HTTP, produz análises comportamentais, temporais e de risco a partir de resumos dos dados.
Interfaces. Uma API REST em FastAPI expõe upload, análises, busca e status dos modelos. Um dashboard em Streamlit e ferramentas de linha de comando cobrem o uso interativo, e o Docker Compose define os serviços de Ollama, API e dashboard.
Decisões técnicas
IA local por padrão. O cliente aponta para o Ollama em localhost:11434: as análises com LLM e os embeddings não dependem de APIs de IA de terceiros.
Configuração centralizada. Endereço do Ollama, modelos e timeout ficam em um único objeto de configuração (OllamaConfig), com padrões locais.
Responsabilidades separadas. Parsers, grafo, análise vetorial, IA, API e interface vivem em módulos independentes.
Estado atual
Protótipo de estudo. O repositório inclui apenas dados de exemplo.