Автоматическая обработка архива прайсов клиник-партнёров.
Отчёт перед трекером · 26.06.2026
● работает в проде: med.secondbrain.tools
Собран и развёрнут сквозной конвейер — от сырого архива до живого интерфейса.
| Слой | Решение |
|---|---|
| Извлечение | Python · pdfplumber, PyMuPDF, openpyxl/xlrd, python-docx |
| Vision-добор | Gemini gemini-2.5-flash (по API) |
| Нормализация | каскад + эмбеддинги Gemini gemini-embedding-001 |
| Валидация | правила ТЗ §4.4 (цена, тарифы, аномалии, версии) |
| Хранилище | SQLite (MVP) · PostgreSQL + pgvector (боевая схема) |
| API | FastAPI · 7 эндпоинтов + /stats + Swagger |
| Фронт | одностраничный (Tailwind) · поиск и сравнение цен |
| Деплой | Docker (контейнер API) за Caddy · Selectel KZ |
unmatched: услуг нет в справочнике → на ручную разметку (ТЗ §4.3).| Метод | Позиций | Комментарий |
|---|---|---|
| код тарификатора | 1 414 | точное, бесплатно — где клиника указала код |
| точное имя | 167 | совпадение нормализованного названия |
| эмбеддинги | 4 903 | семантическая близость названий |
| fuzzy | 71 | запасной сигнал |
| → авто всего | 6 555 (73,9%) | цель ТЗ ≥70% взята |
| в очередь оператора | 2 316 | ручная разметка (ТЗ §4.3) |
| Раздел | % | Состояние |
|---|---|---|
| §2 Форматы на вход | 90 | PDF/скан/DOCX/XLSX/XLS + справочник |
| §3 Схема БД (4 сущности) | 80 | есть; БИН/город/контакты пока не извлекаются |
| §4.1 Загрузка архива | 55 | CLI-конвейер; загрузки ZIP в UI нет |
| §4.2 Извлечение по формату | 85 | работает; tracked-changes неявно |
| §4.3 Нормализация | 90 | каскад + порог + unmatched, 73,9% |
| §4.4 Валидация + верификация | 60 | валидация ✅; UI верификации неполный |
| §4.5 API | 90 | 7 эндпоинтов + /stats + Swagger |
| §4.6 Интерфейс | 70 | поиск+сравнение+дашборд; нет загрузки/разметки |
| §7 Что сдаём | 65 | БД/отчёт/OpenAPI/README ✅; слайды-каркас, видео нет |
| Критерий жюри | вес | сделано |
|---|---|---|
| Качество извлечения данных | 30% | ~85% |
| Нормализация и сопоставление | 25% | ~90% |
| Валидация и верификация | 20% | ~60% |
| API и поиск | 15% | ~90% |
| UX административного раздела | 10% | ~65% |
≈ 80% по рубрике · общая готовность по ТЗ ≈ 75% · плюс бонус — живой деплой, которого ТЗ не требует.
Собран и развёрнут весь путь — от сырого архива до живого интерфейса.
Ядро (55% оценки: извлечение, нормализация, валидация) проверено на реальных данных.
Дальше — экран верификации, загрузка архива через интерфейс, упаковка к защите.
Демо — med.secondbrain.tools
документация API — med.secondbrain.tools/api/docs