Бот Book Detective перешел в MAX и получил ИИ-функции
Бот Book Detective перешел в MAX и получил ИИ-функции Многие из вам помнят нашего бота Book Detective в Telegram. Он искал в базе данных книги по названию, автору или ISBN. Из-за блокировок стал недоступен и в какой-то момент стало ясно, что нужна другая платформа. Я воспринял это как вызов. И вот что получилось. Переход на новую платформу – это не просто «перенести код». Если в Telegram всё строилось на командах и inline-клавиатуре, то в MAX другая логика работы с сообщениями, типы кнопок и асинхронность. Пришлось переписывать значительную часть логики. Главная новинка бота – ИИ-помощник. Идея была в том, чтобы бот понимал запросы на естественном языке. Для «размытых» формулировок добавил слой интерпретации: ИИ анализирует намерение пользователя и превращает его в структурированный запрос к базе данных. Для этого подключил GigaChat. Пришлось повозиться с настройкой системных промптов, авторизацией через OAuth и парсингом JSON-ответов, но результат того стоил. Технически процесс выглядит так: 1. Пользователь пишет сообщение в MAX. 2. Если это выбор через кнопку — запускается стандартный обработчик. 3. Если это текстовый запрос в режиме ИИ, то он уходит в GigaChat. 4. GigaChat анализирует текст и возвращает JSON-команду (например, {"action":"search", "query":"искусственный интеллект"})5. Бот выполняет поиск в MySQL по полям title, author, izdatelstvo, isbn, используя FULLTEXT-индекс (и LIKE как fallback)6. Результат выводится с пагинацией. Если книг найдено слишком много, бот предложит уточнить запрос, чтобы не перегружать диалог. Теперь бот умеет отличать поисковый запрос от общего вопроса и давать осмысленные ответы. Если результат слишком большой, ИИ просит уточнить, чтобы не перегружать диалог. Что дальше Пока это эксперимент, но уже рабочий. Бот стабильно работает на сервере и постоянно учится. В планах: • улучшить обработку сложных запросов • добавить рекомендации на основе истории поиска Федоров онлайн | Подписаться