Sobre o projeto

Civitas é uma plataforma de IA/ML de dados abertos que agrega dados de fontes oficiais do governo dos EUA em scorecards unificados de transparência para senadores, representantes da Câmara, presidentes e juízes da Suprema Corte. Também apresenta um Action Center que destaca questões cívicas em tendência a partir da análise de notícias, detecta automaticamente preocupações nacionais contínuas como monitores rastreáveis e constrói uma linha do tempo de revisão anual. Registros de votação, financiamento de campanha, discursos no plenário, opiniões judiciais e plataformas declaradas são analisados usando classificação baseada em embeddings, alinhamento partidário baseado em conteúdo e pontuação determinística — tudo rodando localmente em um Raspberry Pi 5 com zero chamadas de API externas para serviços de IA em nuvem. ## Arquitetura O sistema é construído em torno de um pipeline em lote noturno que busca dados de múltiplas APIs governamentais (Congress.gov, FEC, GovInfo, Senate.gov, Oyez, BLS/BEA, etc.), transforma-os, analisa-os usando embeddings e pontuação determinística e persiste os resultados em bancos de dados SQLite. Um backend FastAPI serve os dados para um frontend Next.js. O LLM (LFM2.5-1.2B-Instruct) roda localmente via llama.cpp para tarefas que exigem síntese em linguagem natural, como geração de questões do Action Center e resumos de perfis de juízes. ## Principais Recursos - **Scorecards de Transparência**: Pontuações para senadores, representantes, presidentes e juízes com base em registros de votação, financiamento de campanha, discursos no plenário e outros dados. - **Action Center**: Destaca questões cívicas em tendência a partir da análise de notícias, detecta automaticamente preocupações nacionais como monitores rastreáveis e constrói uma linha do tempo de revisão anual. - **Busca Híbrida**: O índice Explore combina busca semântica baseada em embeddings com busca por palavras-chave FTS5 e PageRank de grafo de citações. - **Totalmente Local**: Todos os modelos, bancos de dados e serviços rodam no dispositivo (Raspberry Pi 5, 16GB de RAM). Sem GPU em nuvem, sem APIs de IA de terceiros. - **Pontuação Determinística**: A análise da Fase 3 é totalmente determinística, sem chamadas de LLM, usando classificação baseada em embeddings e kNN. - **Arquitetura de Cache**: Três sistemas de cache independentes (ApiCache, AnalysisCache, LearnedClassification) para replay, desempenho e trilhas de auditoria. ## Fases do Pipeline O pipeline noturno processa cada senador e representante da Câmara através de sete fases: FETCH, TRANSFORM, ANALYZE, EXPLORE, JUSTICES, PRESIDENTS e FINALIZE. Ele roda como uma cadeia de cinco pipelines (Senado, Suplementar, Câmara, Negociações de ações, Eleições) onde cada elo só inicia se o anterior terminou. ## Estratégia de Classificação As decisões de classificação são tomadas usando uma estratégia em camadas: correspondências exatas, embeddings de sentence-transformer, kNN e, finalmente, LLM para tarefas que exigem síntese em linguagem natural. O sistema enfatiza explicabilidade e reprodutibilidade, com todos os pesos de modelo fixados. ## Hardware Raspberry Pi 5 (16 GB de RAM), SSD NVMe. Todos os modelos, bancos de dados e serviços rodam no dispositivo.