Ассистент по строительным нормам: ответ со ссылкой на пункт
ИИ-ассистент по 149 нормативам: отвечает со ссылкой на пункт и прикладывает скан страницы и таблицу, чтобы ответ можно было перепроверить.

Задача
Проектировщик постоянно ищет ответы в нормах: какая толщина защитного слоя, какой пункт регламентирует требование. Листать PDF на сотни страниц долго, а ответ из устаревшей редакции — это замечание экспертизы.
Что мешало
Нормы — это сканы, таблицы на несколько страниц, формулы и перекрёстные ссылки. Обычный чат-бот на таком материале выдумывает. Нужен ответ строго по тексту и с адресом, где это написано.
Что сделали
- базу из 149 нормативов: распознавание сканов, разбор таблиц по ячейкам, рисунки;
- граф связей норм: закон → техрегламент → перечень → ГОСТ/СП, ссылки и термины;
- гибридный поиск: по смыслу и по словам сразу, с учётом жаргона и синонимов;
- проверку ответа: каждое утверждение сверяется с текстом нормы, без подтверждения ассистент не отвечает;
- ответ с доказательствами: к нему прикладываются таблица в HTML, реальный скан страницы и PDF нормы с прокруткой к нужной странице — специалист перепроверяет за секунды;
- пополнение базы: новый норматив загружается и сам проходит распознавание, разбор таблиц и индексацию;
- три канала: корпоративный Mattermost для отдела, личный бот в Telegram, веб-чат;
- сбор обратной связи по реакциям на ответы;
- работали с векторными базами Qdrant, Pinecone, Weaviate и Chroma, с локальными и облачными моделями.
Результат
Рабочая система с базой из 149 нормативов. На слепом прогоне из 20 вопросов: нужный пункт нормы — в первых пяти найденных в 100% случаев, 0 критических ошибок, каждый выданный ответ — со ссылкой на документ и пункт, 95% ответов — быстрее 5,3 секунды.
Стек
Python, FastAPI, PaddleOCR-VL, PyMuPDF, bge-m3, Qdrant, Pinecone, Weaviate, Chroma, Memgraph, LangChain, Ollama, Gemini, Яндекс AI Studio, Mattermost, Telegram, Chainlit, Docker, PostgreSQL.


