🏗️ Arquitetura do Sistema¶
O Conselho de IA é construído sobre uma arquitetura desacoplada, modular e resiliente, composta por 4 camadas principais:
conselho-ia/
├── src/
│ ├── api/ --> Endpoints FastAPI, streaming SSE, tratamento de erros e CORS
│ ├── core/ --> Contratos Pydantic, cliente Multi-LLM e avaliador semântico de domínio
│ ├── council/ --> Orquestrador de 3 fases (Engine), prompts de sistema e personas
│ ├── exporters/ --> Geradores de Dossiês em HTML Interativo, PDF corporativo e Markdown
│ └── storage/ --> DDL de PostgreSQL/pgvector com fallback resiliente em memória
├── frontend/ --> Aplicação Web React 18 + Vite + TailwindCSS (Dark Mode)
└── docs/ --> Documentação estática Material for MkDocs no Cloudflare Pages
🔄 Pipeline de Deliberação em 3 Fases¶
sequenceDiagram
autonumber
actor User as Usuário / Fundador
participant API as FastAPI / SSE
participant Engine as CouncilEngine
participant LLM as Multi-LLM (NVIDIA NIM / OpenAI)
participant Exporter as Exporters (HTML/PDF/MD)
User->>API: Submete Proposta (POST /deliberations)
API->>Engine: Inicia deliberação assíncrona
Engine->>LLM: Fase 1: Avaliação Cega Paralela (asyncio.gather)
LLM-->>Engine: Pareceres individuais (Scores 0-100, Furos e Premissas)
Engine-->>API: Emite eventos SSE (member_opinion_ready)
Engine->>LLM: Fase 2: Cross-Debate Adversarial (Críticas Cruzadas)
LLM-->>Engine: Réplicas e contra-argumentos
Engine-->>API: Emite eventos SSE (debate_reply_ready)
Engine->>LLM: Fase 3: Síntese Arbitral & Veredito
LLM-->>Engine: Veredito Executivo (APROVAR/PIVO/ABORTAR, Score de Risco, Mitigações)
Engine-->>API: Emite eventos SSE (phase3_complete, dossier_ready)
Engine->>Exporter: Gera Dossiê Executivo (HTML, PDF, MD)
API-->>User: Dossiê Consolidado Finalizado
🛡️ Resiliência e Armazenamento Vetorial¶
- PostgreSQL com extensão
pgvector: Armazena propostas, atas de reuniões, debates e vereditos com índice HNSW para busca semântica de decisões passadas. - Fallback Resiliente: Caso o servidor de banco de dados não esteja disponível no ambiente local, o sistema ativa automaticamente um backend em memória com cálculo de similaridade de cosseno, garantindo 100% de disponibilidade em testes e execuções locais.