ЕАСУЗ | AI Консультант
Telegram-бот на базе RAG-архитектуры для консультаций по системам государственных закупок: 44-ФЗ, 223-ФЗ, АРИП.
Задача: отвечать на вопросы по системам государственных закупок (ЕАСУЗ, ЕИС, ГИС РЭБ) по базе знаний — со структурированным ответом и указанием источника.
Гибридный поиск — векторные эмбеддинги и ключевые слова, генерация ответов через GigaChat.
Ключевые возможности
База знаний по трём категориям
- 44-ФЗ — 1147 Q&A + 133 инструкции
- 223-ФЗ — 316 Q&A + 18 инструкций
- АРИП — 461 Q&A + 31 инструкция
Гибридный поиск
Векторный FAISS (sentence-transformers) + ключевой BM25 с динамическим взвешиванием: короткие запросы → BM25 60%, длинные → FAISS 70%.
Структурированные ответы
Промпт с жёсткими требованиями к структуре: заголовки ##, нумерованные списки, указание системы в скобках, источник. Постобработка с санитизацией Markdown.
Понимание запросов
Автоматическое раскрытие аббревиатур (ЕАСУЗ, ГИС РЭБ, НМЦК), фильтрация по категориям через inline-кнопки.
Как это работает
Пользователь выбирает категорию и задаёт вопрос
Раскрытие аббревиатур и извлечение ключевых слов
Гибридный поиск FAISS + BM25, топ-3 документа
GigaChat формирует ответ по структуре
Санитизация Markdown и ответ в Telegram
Архитектура и технологии
RAG-пайплайн с GigaChat API (модель GigaChat-Max): поиск топ-3 документов, формирование промпта, постобработка. Нормализация скоров для объединения FAISS и BM25, минимальный порог релевантности, дедупликация по source_file, фильтрация результатов с score < 0.3.
Интерфейс на aiogram, логирование запросов в SQLite, health-check при запуске. Модульная архитектура с разделением компонентов — универсальный шаблон для создания аналогичных ботов.
Что сделано
База знаний
- Сбор и структурирование базы знаний
- Парсинг инструкций, схем, вопросов-ответов из Excel и PDF
Поиск
- Векторный поиск через FAISS с sentence-transformers
- Ключевой поиск через BM25
- Гибридная система поиска с динамическим взвешиванием
- Нормализация скоров для корректного объединения FAISS и BM25
- Оценка релевантности с минимальным порогом, дедупликация по source_file
- Фильтрация нерелевантных результатов с score < 0.3
Ответы
- RAG-пайплайн для генерации ответов, контекст из топ-3 документов
- Интеграция с GigaChat API (модель GigaChat-Max)
- Промпты с жёсткими требованиями к структуре ответа
- Форматирование Markdown и санитизация для Telegram
- Fallback-стратегии для типовых вопросов
- Раскрытие аббревиатур и извлечение ключевых слов с фильтрацией стоп-слов
Бот и качество
- Интерфейс на aiogram, выбор категорий (44-ФЗ, 223-ФЗ, АРИП)
- Фильтрация документов по выбранной категории
- Логирование всех запросов в SQLite, health-check при запуске
- Универсальный шаблон и модульная архитектура
- Тестирование с конечными пользователями и доработки по их обратной связи
⭐ Ключевой момент: поиск сам подстраивается под запрос — короткий вопрос опирается на ключевые слова, длинный — на смысл.
Итог
Консультант по госзакупкам на RAG: гибридный поиск FAISS + BM25, GigaChat API и три специализированные категории — 44-ФЗ, 223-ФЗ, АРИП.
Подробнее о проекте
Пользователям систем государственных закупок постоянно нужны ответы на практические вопросы: где найти нужную функцию, как пройти шаг в системе, что требует закон. Ответы есть в инструкциях и сборниках вопросов, но искать их вручную долго. Задача проекта — консультант, который отвечает на такие вопросы по базе знаний, со структурированным ответом и указанием источника.
Бот предназначен для тех, кто работает с системами ЕАСУЗ, ЕИС и ГИС РЭБ в трёх направлениях: 44-ФЗ, 223-ФЗ и АРИП. Пользователь выбирает категорию кнопкой и задаёт вопрос в Telegram.
Сначала была собрана и структурирована база знаний: вопросы-ответы, инструкции и схемы из файлов Excel и PDF. Затем построен поиск по ней. Он гибридный: смысловой поиск по векторам и поиск по ключевым словам работают вместе, а их вес зависит от запроса. Короткий вопрос опирается больше на ключевые слова, длинный — на смысл. Бот сам раскрывает аббревиатуры вроде ЕАСУЗ, ГИС РЭБ и НМЦК, отсекает нерелевантные и повторяющиеся результаты.
Три самых подходящих документа передаются языковой модели GigaChat-Max, которая формирует ответ по заданной структуре: списки, указание системы и источник. Для типовых вопросов предусмотрены запасные сценарии. Все запросы записываются в журнал, при запуске бот проверяет свою работоспособность. Архитектура модульная, поэтому решение служит шаблоном для похожих ботов.
Технологии: Python, aiogram для интерфейса бота, FAISS и sentence-transformers для векторного поиска, BM25 для поиска по ключевым словам, GigaChat API, SQLite для журнала запросов. Это RAG-подход: ответ строится на найденных документах, а не на памяти модели.
Проект на стадии MVP. Бот прошёл тестирование с конечными пользователями и был доработан по их отзывам. По результатам тестирования точность ответов составила 85–95%.