AAYMA
RU
Войти

RedRobin

Прототип сравнения двух редакций DOCX-документа об оргструктуре: какие подразделения и функции были, появились, исчезли, дублируются и где возможен…

Рабочий MVP
Команда «RedRobin» 3💬 0 комментариевс 23 сентября 2026 г.

О проекте

Команда: RedRobin
Кейс HackAlem.ai: Спецтрек — Казахтелеком
Стадия: Рабочий MVP

Задача кейса: Агент, сравнивающий документы оргструктуры до и после реорганизации

Суть

Прототип сравнения двух редакций DOCX-документа об оргструктуре: какие подразделения и функции были, появились, исчезли, дублируются и где возможен конфликт ответственности, со ссылками на пункты документа и подсветкой.

Как устроено

Пользователь загружает DOCX «до» и «после». Бэкенд парсит пункты и таблицы (docx_parser, clause_segmenter), извлекает сущности, сопоставляет пункты (matcher), анализирует риски и проверяет доказательства (evidence_validator). Итог собирается в отчёт по категориям со ссылками на пункты. Демо работает в быстром режиме (simple_analyzer) без LLM; OpenAI-пайплайн с промптами и схемами подключается опционально. Работа идёт через асинхронные jobs API.

Ключевые решения

  • DOCX parsing
  • clause segmentation
  • entity extraction
  • clause matching
  • evidence validation
  • job queue

Особенности

Каждый вывод ссылается на конкретный пункт документа, по клику полный документ открывается с подсветкой фрагмента. Есть контрольный набор для тестов (control_set.json).

Стек

Python · FastAPI · Pydantic · vanilla JS · Docker · pytest

Модели

OpenAI (опционально)


Проект создан за 5 часов на финале хакатона HackAlem.ai (23 сентября 2026, Астана). Код — BAITC-Hacks/hack-1b815292-redrobin.

README

README.md

RedRobin

Прототип ИИ-агента для сравнения двух редакций DOCX-документа: организационная структура, функции подразделений, исчезнувшие и новые обязанности, возможные дубли и конфликты ответственности.

Проект сделан для спец-трека Казахтелеком / HackAlem AI. Пользователь загружает документы "до" и "после", backend парсит DOCX, строит быстрый отчет и показывает выводы со ссылками на конкретные пункты. По клику открывается полный документ с подсветкой найденного фрагмента.

Что умеет

  • загрузка двух DOCX-файлов;
  • парсинг структуры документа, пунктов и таблиц;
  • быстрый анализ редакций 8 и 9 без долгого AI-пайплайна;
  • вывод категорий:
    • какие подразделения были раньше;
    • какие появились после реорганизации;
    • какие функции остались;
    • какие функции пропали;
    • какие функции стали дублироваться;
    • где может быть конфликт ответственности;
    • подтверждающие источники;
  • просмотр полного документа справа с подсветкой нужного пункта;
  • FastAPI backend + vanilla frontend.

Быстрый запуск

python -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txt
uvicorn app.main:app --host 127.0.0.1 --port 8000

Открыть в браузере:

http://127.0.0.1:8000

Настройки

Файл .env нужен только локально. Его нельзя загружать в GitHub.

Пример лежит в .env.example.

OPENAI_API_KEY=
OPENAI_MODEL=
AI_PARALLELISM=4
MAX_FILE_MB=20
JOB_TTL_MINUTES=60
ANALYSIS_TIMEOUT_SECONDS=300

Текущая демо-версия работает в быстром режиме и не требует OpenAI API для основного анализа.

API

  • GET /health - проверка сервера.
  • POST /api/jobs - загрузка документов before_file и after_file.
  • POST /api/jobs/{job_id}/analyze - запуск анализа.
  • GET /api/jobs/{job_id} - статус и прогресс.
  • GET /api/jobs/{job_id}/result - отчет.
  • GET /api/jobs/{job_id}/documents/{role} - распарсенный документ для просмотра и подсветки.

Тесты

pytest

Структура

app/
  api/          FastAPI routes
  models/       Pydantic-модели API и домена
  services/     загрузка, парсинг DOCX, быстрый анализ, отчет
  static/       frontend CSS и JavaScript
  templates/    HTML-страница приложения
docs/           технические материалы
materials/      исходные документы и извлеченные тексты
tests/          тесты

Безопасность

Не загружайте в репозиторий:

  • .env
  • .venv
  • .pytest_cache
  • __pycache__
  • *.pyc

.env.example загружать можно: в нем нет секретов.

Звёзды
⭐ 0
Форки
0
Язык
Python
Последний push
в прошлом месяце
Коммиты
12
Авторы
3
Файлы
59
Ветки
3

Авторы коммитов

Kunslu Karayeva 5mollikamollika 4ztobaber 3

История коммитов

  • 2026-09-23 17:59Simplify analysis pipeline and finalize demo flowmollikamollika
  • 2026-09-23 17:55Simplify analysis pipeline and finalize demo flowmollikamollika
  • 2026-09-23 17:49Simplify analysis pipeline and update demo UImollikamollika
  • 2026-09-23 17:32Fix evidence validation fallback qualityKunslu Karayeva
  • 2026-09-23 17:31:readmeztobaber
  • 2026-09-23 17:27Update frontend and backend integrationmollikamollika
  • 2026-09-23 16:28Restore verified RedRobin E2E configurationKunslu Karayeva
  • 2026-09-23 16:23mKunslu Karayeva
Все коммиты (12)
  • 2026-09-23 16:13vremztobaber
  • 2026-09-23 16:12Implement RedRobin backend and AI pipelineKunslu Karayeva
  • 2026-09-23 14:23dfdfztobaber
  • 2026-09-23 14:01mKunslu Karayeva
Структура репозитория (59 файлов)
.dockerignore
.env.example
.gitignore
.python-version
Dockerfile
README.md
app/__init__.py
app/ai/__init__.py
app/ai/client.py
app/ai/prompts.py
app/ai/schemas.py
app/api/__init__.py
app/api/jobs.py
app/config.py
app/errors.py
app/main.py
app/models/__init__.py
app/models/ai.py
app/models/api.py
app/models/domain.py
app/services/__init__.py
app/services/analysis_pipeline.py
app/services/clause_segmenter.py
app/services/docx_parser.py
app/services/entity_extractor.py
app/services/evidence_validator.py
app/services/job_service.py
app/services/matcher.py
app/services/report_builder.py
app/services/risk_analyzer.py
app/services/simple_analyzer.py
app/services/upload_service.py
app/static/app.css
app/static/app.js
app/templates/result.html
app/templates/status.html
app/templates/upload.html
docs/POSTMAN_TESTING.md
docs/TECH_SPEC.md
materials/HackAlem AI_ ИИ-агент «Анализ организационной структуры и функционала».txt
materials/extracted/Положение_о_внутреннем_аудите_редакция_8_обезличено.docx.txt
materials/extracted/Положение_о_внутреннем_аудите_редакция_9_обезличено.docx.txt
materials/source/Положение_о_внутреннем_аудите_редакция_8_обезличено.docx
materials/source/Положение_о_внутреннем_аудите_редакция_9_обезличено.docx
pytest.ini
requirements.txt
ruff.toml
tests/__init__.py
tests/fixtures/control_set.json
tests/test_ai_client.py
tests/test_ai_evidence_stage.py
tests/test_ai_schemas.py
tests/test_api.py
tests/test_control_set.py
tests/test_evidence_validator.py
tests/test_job_service.py
tests/test_matcher.py
tests/test_parser.py
tests/test_ux.py
Ветки (3)

Обсуждение 0 комментариев

Войдите, чтобы комментировать

Пока нет комментариев — будьте первым.