Задача: разработка FAQ бота с RAG AI
Общее описание
Создать интеллектуального Telegram-бота, который отвечает на вопросы пользователей, основываясь только на предоставленной базе знаний. Использование RAG-архитектуры гарантирует, что ответы формируются строго по найденным релевантным фрагментам, исключая вымышленную информацию и галлюцинации LLM.
Функциональные требования
Основной функционал
- Прием запросов от пользователей в чате Telegram.
- Извлечение релевантных фрагментов из базы знаний (TXT-документов) с помощью системы векторного поиска.
- Генерация ответа с использованием LLM (например, OpenAI или эквивалентной) строго на основе найденных данных.
- Поддержка контекста диалога: возможность уточнения вопросов пользователем.
- Ограничение области знаний - бот отвечает только на вопросы, касающиеся материалов из базы знаний, с вежливым отказом для нерелевантных тем.
Административный интерфейс
- Возможность загружать, удалять и обновлять документы (в формате TXT).
- Пересборка векторного индекса (chunks и embeddings) при изменениях - без необходимости переобучать или переключать модели.
- Простой интерфейс для управления базой знаний, доступный через Telegram или отдельный веб-дашборд (на выбор исполнителя).
Технические детали
Технологический стек
- Язык программирования: Python
- LLM: OpenAI API или любой открытой аналог с аналогичной мощностью
- Среда развертывания: на выбор исполнителя (облачный сервер, VPS и т.д.)
Требования к реализации
- Высокая точность возвращаемых фрагментов (размеры chinks, число фрагментов - настраиваемые).
- Логирование и получение статусов загрузки для админа.
- Обработка ошибок и защита от намеренного ввода невалидных данных.
Ожидаемый результат
- Работающий экземпляр Telegram-бота с внедренной пользовательской базой знаний (примеры в координации с заказчиком).
- Инструкция по развертыванию и использованию системы чата и администрирования.
Процесс работы
Исполнитель выполняет задачу по-строено как решение фриланс-портала: в рамках утвержденного бюджета на проведение установки, конфигурирования и завершающего демо-показа бота.