О проекте
Команда: AI geniuses
Кейс HackAlem.ai: Спецтрек — Казахтелеком
Стадия: Рабочий MVP
Задача кейса: Агент, сравнивающий документы оргструктуры до и после реорганизации
Суть
Локальное приложение для анализа реорганизации: загружаются комплекты документов оргструктуры ДО и ПОСЛЕ (DOCX/PDF/XLSX), система извлекает функции подразделений, сопоставляет их, находит потерянные функции и пересечения с точными цитатами и выдаёт JSON и HTML-заключение.
Как устроено
FastAPI принимает multipart-загрузку, парсеры DOCX/PDF/XLSX режут текст на блоки с точными адресами (абзац, страница, ячейка). Затем gpt-4.1-mini через Responses API и responses.parse с Pydantic-схемами извлекает атомарные функции, сопоставляет подразделения и функции между версиями, проверяет отсутствие функций в комплекте ПОСЛЕ и ищет пересечения и конфликты независимости. Backend проверяет дословные цитаты и основания, неподтверждённые выводы переводит в неопределённость, а заключение собирает детерминированно. Задачи ставятся в очередь одного процесса, ответы модели кэшируются, фронт на React опрашивает статус.
Ключевые решения
- structured outputs (responses.parse + Pydantic)
- извлечение атомарных функций
- сопоставление подразделений и функций
- проверка дословных цитат
- пакетная обработка
- кэш ответов LLM
- защита от prompt injection (текст как недоверенные данные)
Особенности
Каждый вывод обязан опираться на дословную цитату с адресом в исходном документе, и backend это проверяет. Есть синтетический демо-комплект ДО/ПОСЛЕ с expected_findings.json для оценки качества. Отдельно учтены ограничения: OCR нет, упразднение функции признаётся только при прямом документе, лимиты на распакованный OOXML.
Стек
Python 3.12 · FastAPI · Pydantic · React · TypeScript · Vite · pytest
Модели
gpt-4.1-mini
Проект создан за 5 часов на финале хакатона HackAlem.ai (23 сентября 2026, Астана). Код — BAITC-Hacks/hack-a917a1bd-ai-geniuses.
README
README.mdhack-a917a1bd-ai-geniuses
Hackathon team repository for AI geniuses
Авторы коммитов
История коммитов
- 2026-09-23 16:35Add files via uploadAltairISL
Структура репозитория (57 файлов)
OrgLens/README.md OrgLens/VERIFICATION.md OrgLens/backend/app/__init__.py OrgLens/backend/app/config.py OrgLens/backend/app/main.py OrgLens/backend/app/parsers/__init__.py OrgLens/backend/app/parsers/common.py OrgLens/backend/app/parsers/docx_parser.py OrgLens/backend/app/parsers/pdf_parser.py OrgLens/backend/app/parsers/xlsx_parser.py OrgLens/backend/app/schemas.py OrgLens/backend/app/services/__init__.py OrgLens/backend/app/services/comparison.py OrgLens/backend/app/services/evidence.py OrgLens/backend/app/services/extraction.py OrgLens/backend/app/services/llm.py OrgLens/backend/app/services/pipeline.py OrgLens/backend/app/services/reporting.py OrgLens/backend/app/storage.py OrgLens/backend/pytest.ini OrgLens/backend/requirements.in OrgLens/backend/requirements.txt OrgLens/backend/tests/__init__.py OrgLens/backend/tests/fakes.py OrgLens/backend/tests/test_api.py OrgLens/backend/tests/test_evidence.py OrgLens/backend/tests/test_frontend_serving.py OrgLens/backend/tests/test_llm.py OrgLens/backend/tests/test_parsers.py OrgLens/backend/tests/test_pipeline.py OrgLens/backend/tests/test_reporting.py OrgLens/demo/README.md OrgLens/demo/after/01_Приказ_о_реорганизации_ПОСЛЕ.docx OrgLens/demo/after/02_Положения_технических_отделов_ПОСЛЕ.pdf OrgLens/demo/after/03_Матрица_ответственности_ПОСЛЕ.xlsx OrgLens/demo/before/01_Положение_ЦИТ_ДО.docx OrgLens/demo/before/02_Положения_закупки_бухгалтерия_ДО.pdf OrgLens/demo/before/03_Структура_ДО.xlsx OrgLens/demo/expected_findings.json OrgLens/frontend/index.html OrgLens/frontend/package-lock.json OrgLens/frontend/package.json OrgLens/frontend/scripts/build-portable.mjs OrgLens/frontend/src/App.tsx OrgLens/frontend/src/main.tsx OrgLens/frontend/src/styles.css OrgLens/frontend/src/types.ts OrgLens/frontend/tsconfig.json OrgLens/frontend/vite.config.ts OrgLens/scripts/generate_demo.py OrgLens/scripts/live_evaluation.py OrgLens/start-backend.ps1 OrgLens/start-backend.sh OrgLens/start-frontend.ps1 OrgLens/start-frontend.sh OrgLens/start-orglens.cmd README.md
Ветки (2)
Обсуждение 0 комментариев
Войдите, чтобы комментироватьПока нет комментариев — будьте первым.