Информационно-аналитический инструмент для выявления формальных, иерархических и нормативных несоответствий в документах, приказах и судебных решениях.
❗ Не является юридическим заключением
❗ Не оценивает законность или правомерность
❗ Используется исключительно для предварительного анализа
Проект ориентирован на детерминированную проверку текста по формальным правилам и может применяться в праве, здравоохранении, образовании и других регулируемых доменах.
Compliance Compiler — это проверка, а не совет.
Система:
- не интерпретирует нормы «по смыслу»,
- не заменяет эксперта,
- не делает вероятностных выводов,
а фиксирует проверяемые несоответствия, которые затем оцениваются специалистом.
Проект ��остроен по канонической open-core модели: ядро + приложение + профили.
- Детерминированный движок анализа
- Контексты документов
- Rule-engine (applies / check)
- Проверка полномочий и иерархий
- Реестр нормативных источников
- Генерация нейтральных отчетов
- AST-проверка правил (безопасность)
Ядро не знает о доменах и не содержит клиентской логики.
- Ingestion (нормализация, извлечение)
- Classification (типы документов, органы, действия)
- Registry (источники норм)
- Report (формирование отчётов)
- Utils
Этот слой связывает ядро с прикладными сценариями.
legal/— правовые документыhealthcare/— приказы медучреждений- YAML-конфигурации + Python-правила
- Собственные источники и ограничения
Профили расширяют систему без изменения ядра.
- CLI — автоматизация и скрипты
- Web — демонстрация и API
- Telegram-bot — быстрый анализ текста
Все интерфейсы вызывают одно и то же API ядра.
Система может использовать LLM (OpenAI / Grok) для:
- извлечения дат,
- действий,
- цитат нормативных актов.
AI используется только как вспомогательный парсер, не влияя на логику проверки.
Включается флагом:
AI_PARSING_ENABLED = true
## Интерфейсы
- CLI: Для автоматизации и скриптов.
- Web: Для демонстрации.
- Telegram-bot: Для быстрого доступа.
## Новое: AI-парсинг
- Использует LLM (OpenAI/Grok) для семантического извлечения дат, действий, цитат норм (улучшает точность по сравнению с regex).
- Включено опционально (флаг AI_PARSING_ENABLED в config.py).
## Тесты
- Unit-тесты в tests/ (pytest tests/ для за��уска).
## Установка
1. Клонируйте репозиторий
2. Установите зависимости:
```bash
pip install -r requirements.txt
# или
poetry install- Настройте переменные окружения (скопируйте .env.example в .env):
cp .env.example .env- Отредактируйте .env и добавьте API ключи при необходимости
python interfaces/cli.py analyze examples/service_check_example.txt
python interfaces/cli.py analyze examples/service_check_example.txt --format prettypython interfaces/web.py
# Откройте http://localhost:5000# Добавьте TELEGRAM_TOKEN в .env
python interfaces/telegram_bot.pycompliance-compiler/
├── core/ # Основная логика анализа
├── interfaces/ # CLI, Web, Telegram
├── app/ # Модули приложения
│ ├── ingestion/ # Парсинг и нормализация
│ ├── classification/# Классификация документов
│ ├── rules/ # Правила проверки
│ ├── engine/ # Движки анализа
│ ├── registry/ # Реестр норм
│ ├── report/ # Генерация отчетов
│ └── utils/ # Утилиты
├── knowledge/ # Базы данных норм
├── tests/ # Unit-тесты
└── examples/ # Примеры документов
Open-core модель
Данный репозиторий содержит open-core ядро: детерминированный анализ, правила и профили, локальный запуск. Коммерческая / enterprise-версия (по запросу): интеграции с официальными источниками, SLA и сопровождение, on-premise поставка, расширенные профили.
PR и обсуждения приветствуются. Хотите помочь? См. CONTRIBUTING.md
AGPL-3.0 - см. LICENSE Любое сетевое использование модифицированной версии требует публикации исходного кода.