Todos os projetos

Protótipo 2025

Signal Sense

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.
Grafo de comunicação ilustrativo com três comunidades, um nó central destacado e uma mensagem isolada marcada como anomalia. nó central comunidade anomalia
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

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.