Об этом проекте

Civitas — это платформа AI/ML с открытыми данными, которая объединяет данные из официальных источников правительства США в единые рейтинги прозрачности для сенаторов, членов Палаты представителей, президентов и судей Верховного суда. Она также включает Action Center, который выявляет актуальные гражданские проблемы на основе анализа новостей, автоматически определяет текущие общенациональные вопросы как отслеживаемые мониторы и строит хронологию «год в обзоре». Записи голосований, финансирование кампаний, речи в зале заседаний, судебные мнения и заявленные платформы анализируются с использованием классификации на основе эмбеддингов, содержательного партийного соответствия и детерминированного скоринга — всё это работает локально на Raspberry Pi 5 без внешних API-вызовов к облачным AI-сервисам. ## Архитектура Система построена вокруг ночного пакетного конвейера, который получает данные из нескольких государственных API (Congress.gov, FEC, GovInfo, Senate.gov, Oyez, BLS/BEA и др.), преобразует их, анализирует с использованием эмбеддингов и детерминированного скоринга и сохраняет результаты в базах данных SQLite. Бэкенд на FastAPI предоставляет данные фронтенду на Next.js. LLM (LFM2.5-1.2B-Instruct) работает локально через llama.cpp для задач, требующих синтеза на естественном языке, таких как генерация вопросов для Action Center и сводок профилей судей. ## Ключевые возможности - **Рейтинги прозрачности**: оценки для сенаторов, представителей, президентов и судей на основе записей голосований, финансирования кампаний, речей в зале заседаний и других данных. - **Action Center**: выявляет актуальные гражданские проблемы на основе анализа новостей, автоматически определяет общенациональные вопросы как отслеживаемые мониторы и строит хронологию «год в обзоре». - **Гибридный поиск**: индекс Explore сочетает семантический поиск на основе эмбеддингов с ключевым поиском FTS5 и PageRank по графу цитирований. - **Полностью локально**: все модели, базы данных и сервисы работают на устройстве (Raspberry Pi 5, 16 ГБ ОЗУ). Без облачного GPU, без сторонних AI API. - **Детерминированный скоринг**: анализ фазы 3 полностью детерминирован и не использует вызовы LLM, применяя классификацию на основе эмбеддингов и kNN. - **Архитектура кэширования**: три независимые системы кэширования (ApiCache, AnalysisCache, LearnedClassification) для воспроизведения, производительности и аудиторских следов. ## Фазы конвейера Ночной конвейер обрабатывает каждого сенатора и члена Палаты представителей через семь фаз: FETCH, TRANSFORM, ANALYZE, EXPLORE, JUSTICES, PRESIDENTS и FINALIZE. Он выполняется как цепочка из пяти конвейеров (Senate, Supplementary, House, Stock trades, Election), где каждое звено запускается только после завершения предыдущего. ## Стратегия классификации Решения о классификации принимаются с использованием многоуровневой стратегии: точные совпадения, эмбеддинги sentence-transformer, kNN и, наконец, LLM для задач, требующих синтеза на естественном языке. Система делает акцент на объяснимости и воспроизводимости, при этом все веса моделей зафиксированы. ## Аппаратное обеспечение Raspberry Pi 5 (16 ГБ ОЗУ), NVMe SSD. Все модели, базы данных и сервисы работают на устройстве.