Telegram и Max · поиск по базе знаний
AI-поддержка по базе знаний
Бот поддержки вымышленного коворкинга: отвечает только по базе знаний из 18 документов, к каждому ответу прикладывает источники, а на вопрос не по теме не выдумывает, а предлагает оператора. Оператор отвечает из своего Telegram — клиент получает ответ в том же чате.
Сценарий: Коворкинг «Квадрат», Екатеринбург — вымышленный: тарифы, переговорные, парковка, правила.

Открыть демо
Не вводите настоящие персональные данные: это демо, всё удаляется через сутки.
Что показывает демо
Как попробовать
Откройте бота
Нажмите «Открыть в Telegram» или отсканируйте QR-код с телефона. Нажмите «Старт».
Задайте вопрос
Своими словами или кнопкой-примером. Под ответом будут источники — нажмите на номер, чтобы увидеть исходный фрагмент.
Спросите не по теме
Например, попросите стихотворение. Бот откажется и предложит оператора — так ведёт себя бот, которому можно доверить клиентов.
Позовите оператора
Команда /operator или кнопка под ответом. Если оператор на связи, он ответит прямо в этот чат; /bot возвращает к боту.
Что написать
- Сколько стоит переговорная на 8 человек?
- Можно прийти с собакой?
- Есть ли парковка?
- Как вернуть деньги за абонемент?
- Можно ли зарегистрировать ООО по вашему адресу?
- Работаете в субботу?
Команды
- /start
- начать заново
- /operator
- позвать оператора
- /bot
- вернуться к боту
- /about
- как устроено демо
Без платных нейросетей
В рабочем проекте ответ пишет языковая модель по найденным фрагментам. В демо вместо неё — локальная заглушка: она собирает ответ из самых подходящих предложений базы. Поиск, источники, отказ и передача оператору работают так же, как в рабочем проекте.
Демо работает без API-ключей OpenAI, YandexGPT или GigaChat. Там, где рабочая система обращается к модели, стоит локальная заглушка с тем же интерфейсом — поэтому демо бесплатно, всегда доступно и ничего не выдумывает.
Что будет в рабочем проекте
- База знаний из ваших документов, сайта, Notion или Confluence с обновлением по расписанию
- Ответы модели (OpenAI, YandexGPT или GigaChat) строго по найденным фрагментам
- Операторы в Telegram-группе, Bitrix24 или amoCRM, а не в личке
- Логи диалогов, доля закрытых без оператора и разбор неудачных ответов
Стек
- Все демо по стеку:
- Python
- Telegram и Max
- Python 3.14
- aiogram
- Max Bot API
- BM25 + векторы
- SQLAlchemy
- SQLite
Основано на
Книги и дисциплины, идеи из которых работают в этом демо.
Книга · Д. М. Кольцов
Python на примерах. Практика, практика и только практика
Бот поддержки на Python и aiogram, один код для Telegram и Max.
Книга · Фань Вэньцзе, Ли Цзяньчао, Янь Сяофань, Чжан Бинь
Вайб-программирование. Разработка кода в эпоху искусственного интеллекта
Метрики качества поиска проверяются в CI на 40 контрольных вопросах: изменение не пройдёт, если поиск стал хуже.
Книга · Алексей Васильев
Программирование на Python в примерах и задачах
Бот работает в Telegram и Max одновременно в одном процессе.
Книга · Джон Берриман, Альберт Циглер
Промпт инжиниринг для LLM
Промпт собирается из найденных фрагментов базы знаний: в контекст идут только самые подходящие, ответ ссылается на них [1], [2], а если база не покрывает вопрос — бот честно отказывается.
Дисциплина · ВМК МГУ
Разработка на Python
Бот поддержки на Python 3.14 и aiogram: гибридный поиск, передача оператору, один код для Telegram и Max.
Комментарий от разработчика
Антон Гончаров
Разработчик ИИ-систем · Python
Для бизнеса
- Первая линия отвечает ночью и в выходные, а оператору достаётся только то, чего бот честно не знает, — вместе с историей диалога.
- Каждый ответ — со ссылкой на документ: клиент видит, откуда информация, а вы — какие разделы базы устарели.
- Самое ценное — список вопросов, на которые бот ответил «не знаю». Это готовый план, что дописать в базу знаний.
Для разработчиков
- Поиск гибридный: BM25 по основам слов плюс векторы, списки сливаются по рангу (RRF). Модель получает только найденные фрагменты.
- Отказ — не промпт «не выдумывай», а порог: если фрагменты плохо покрывают вопрос, до модели дело не доходит.
- Один код для Telegram и Max: транспорт отделён от логики, а качество поиска проверяется в CI на 40 вопросах с ожидаемым документом.
Советы
Совет 01
Начинайте с набора контрольных вопросов, а не с выбора модели: без него любое «стало лучше» — ощущение.
Совет 02
Режьте базу по разделам с заголовками, а не по фиксированной длине: фрагмент должен отвечать на вопрос целиком.
Нужен такой же для вашего бизнеса?
Расскажите о задаче — отвечу, что из демо подойдёт вам, сколько это займёт и что понадобится с вашей стороны.
Другие демо в этом разделе
Все демо- работает
Telegram и Max · заявки и CRM
Квалификация лидов
Бот принимает заявку свободным текстом, сам вытаскивает задачу, бюджет, сроки и контакт, оценивает «горячесть» и кладёт карточку на доску сделок.
- Python
- Telegram и Max
- работает
Telegram Mini App · оплата · статусы
Магазин в Telegram
Каталог как приложение внутри Telegram, корзина, тестовая оплата и уведомления о статусе заказа — от «собираем» до «доставлен».
- Python
- Telegram и Max
- React
- работает
Telegram и Max · запись, предоплата, напоминания
Запись на услуги в Telegram и Max
Бот записывает в барбершоп: услуга, мастер и свободное время кнопками или одной фразой, предоплата, напоминание с кнопками «Приду» и «Перенести», перенос, отмена и расписание глазами администратора.
- Python
- Telegram и Max
- работает
Telegram и Max · баллы, QR на кассе, рассылки
Программа лояльности в Telegram и Max
Карта гостя пекарни прямо в мессенджере: QR-код для кассы, который меняется каждую минуту, баллы и уровни, каждый шестой кофе в подарок, обмен баллов на купоны, бонусы за друзей и рассылки по сегментам с согласием на рекламу.
- Python
- Telegram и Max
- работает
Веб-приложение · сценарий · код на aiogram 3
Конструктор сценариев бота
Бот записи или приёма заявок собирается из шагов: сообщения, кнопки, вопросы с проверкой телефона или даты, условия. Сценарий сразу проходится в превью как в Telegram, а на выходе — готовый код бота на Python.
- React
- TypeScript
- Python
