← Все работы

RAG - ZERNA

База знаний сотрудников в Telegram: ответ по регламентам со ссылкой на документ и страницу

Состав проекта
Telegram-бот, поиск по PDF и библиотека документов
Материалы
Telegram-бот ↗Код в закрытом репозитории

Задача

Дать сотрудникам ответ по внутренним регламентам без ручного поиска по PDF. Бот должен показывать источник и сообщать, если ответа в документах нет.

Решение

Разработал Telegram-бота на Python и aiogram 3 с гибридным поиском в Supabase: векторная выдача pgvector и полнотекстовый поиск объединяются через RRF. LLM отбирает фрагменты по вопросу и формирует ответ в строгом JSON; код проверяет ссылки на источники. Администратор загружает новые PDF прямо в Telegram, бот сам разбивает и индексирует их.

Сложности

Отбирать фрагменты, которые отвечают на вопрос, а не просто похожи на него. Различать отсутствие ответа и технический сбой, проверять качество на контрольных вопросах.

Результат

Работающий демо-бот для вымышленной сети кофеен «Точка Зерна»: ответы по регламентам, ссылки на документы и библиотека PDF в Telegram. Для проверки подготовлены контрольные наборы из 60 и 30 вопросов, сохранены трассы запросов и оценки LLM-аудитора.

Возможности

Ответ с источником

Бот указывает документ, раздел и страницу. Если удалось ответить лишь на часть вопроса, показывает, какой информации не хватает.

Честный отказ

Если подходящих фрагментов нет, генерация не запускается и бот говорит, что информации нет.

Библиотека в Telegram

Сотрудник открывает исходные PDF командой /documents; администратор добавляет и удаляет документы в чате.

Измеримое качество

Контрольные наборы вопросов, полная трасса каждого запроса и метрики по этапам поиска и ответа.

Устройство

  1. Telegram / aiogram 3вопросы, библиотека PDF и администрирование
  2. Qwen3 Embedding 8Bвекторы вопроса и фрагментов
  3. Supabasepgvector и полнотекстовый поиск, объединение через RRF
  4. LLM через Polzaотбор фрагментов и ответ в строгом JSON
  5. Pythonпроверка ссылок на источники и трасса запроса

Стек

Презентация

Превью презентации RAG - ZERNA
Презентация RAG - ZERNAОткрыть отдельно ↗
Все работыОбсудить задачу