Сейчас уже никого не удивишь сайтом или собственным приложением. Многие веб-ресурсы создаются в рамках маркетинговых стратегий и предназначены для одной небольшой задачи.
Наш клиент, крупный производитель антифриза, решил, что ему нужен чат-бот, который будет предоставлять консультации для автолюбителей. Так он сможет улучшить взаимодействие с покупателями и даст им легкий доступ к качественной информации и рекомендациям.
Заказчик сразу упомянул, что хочет использовать ИИ-решение, так как о нейросетях говорят все и нужно быть в тренде. А наша команда NooSoft всегда рада взяться за такие проекты.
И если выделять смысл проекта в двух предложениях, то он будет выглядеть так:
Первый и главный этап - разработка логики. Мы создали механизм общения с пользователями, и он гарантировал решение их запросов.
Пройдемся по стандартному принципу работы.
При запуске бота открывается меню, предоставляющее пользователю несколько опций:
Если пользователь хочет узнать о продукции, бот предлагает подобрать антифриз на официальном сайте и приобрести на маркетплейсах. В конце общения выдает промокод на скидку.
Как работает механизм общения:
Логика выстроена и дело осталось за малым - перенести схему в код и получить реальный продукт.
Мы начали разработку с появления минимального ТЗ. Изначально в нем был описан самый простой сценарий использования.
Первая версия чата давала ответы на все вопросы, без возможности отправки к специалисту. Уже после её тестирования был доработан более сложный алгоритм с двумя сценариями:
Чтобы бот работал как было задумано, мы разработали специальный промпт (набор команд для нейронной сети). Его задача заключается в определении, связан ли вопрос пользователя с одной из двух тем:
Смысл промта прост и строится на условии “Если …, то…”. Получается, что ответ формируется, если вопрос касается указанных тем, в ином случае предлагается отправить другой запрос.
Пример взаимодействия
Допустим, применяется следующий вариант промпта: "Классифицируй вопрос по теме. Если вопрос не связан с темами 'Автомобиль и обслуживание' или 'Автохимия', не отвечай. Если вопрос связан с темой 'Автохимия', рекомендуй продукцию “Заказчик”."
Вопрос от пользователя: "Как выбрать подходящий антифриз для моего автомобиля?"
В данном случае, вопрос соответствует теме "Автохимия", и чат-бот должен предоставить соответствующий ответ и рекомендовать продукт клиента.
Такой подход к обучению ИИ позволяет сфокусироваться на конкретных областях. Однако, при тщательном тестировании промптов, они потребовали доработок для обеспечения корректной работы в реальных условиях.
Одновременно шла разработка административной панели для управления.
Был внедрен функционал просмотра списка пользователей в боте. Администратор может легко выбирать и открывать диалоговое окно с конкретным человеком, быстро реагируя на вопросы, на которые не смог ответить бот.
Отдельно была добавлена возможность редактирования и управления промокодами. Администратор может изменять текст промокода, а также включать или отключать его, обеспечивая постоянный контроль за акциями.
И конечно же, не забыли про раздел статистики: количество активных пользователей, взаимодействий и популярные запросы. Эта информация помогает в принятии решений и разработке новых стратегий продвижения продукции.
Для реализации чат-бота команда NooSoft выбрала технологический стек, который обеспечивает эффективное и простое внедрение.
1. Telegram Bot API и FastAPI.
Для написания бота мы использовали Telegram Bot API. Он предоставляет удобный интерфейс для взаимодействия с Telegram и обеспечивает быструю разработку благодаря асинхронному фреймворку FastAPI.
2. Бэкенд административной панели: Django, Django REST Framework, Django-channels, PostgreSQL.
Бэкенд был построен с использованием Django, мощного фреймворка для разработки веб-приложений на языке Python. Django REST Framework обеспечил создание RESTful API для управления данными, а Django-channels добавил поддержку асинхронных веб-сокетов. PostgreSQL использовалась в качестве базы данных для надежного хранения информации.
3. Интерфейс админки: Nuxt и Vue.js.
Для разработки интерфейса административной панели были использованы Nuxt и Vue.js. Nuxt обеспечил удобную конфигурацию и быстрый старт проекта, а Vue.js позволил создать динамичный и отзывчивый пользовательский интерфейс.
4. Взаимодействие с ИИ: GigaChat API и библиотека ai-forever/gigachat
Для взаимодействия с искусственным интеллектом через GigaChat API мы использовали библиотеку ai-forever/gigachat. Она помогла внедрить мощные функции искусственного интеллекта в чат-бот, расширяя его возможности.
Такой технологический стек гарантировал не только высокую функциональность и производительность, но и удобство в разработке и последующей поддержке проекта.
При рассмотрении множества альтернатив Large Language Models (LLM) для проекта, команда Noosoft приняла решение в пользу GigaChat. Потому что у него есть ряд плюсов:
1. Готовая библиотека для API снижает сложность кодирования, поэтому можно быстро интегрировать функции искусственного интеллекта в наш чат-бот.
2. GigaChat выделяется простотой настройки и интуитивно понятной документацией, что позволяет быстро его освоить и использовать в проекте.
3. Отсутствие необходимости в VPN обеспечило быстрое внедрение, так как не потребовалось дополнительных шагов для безопасного соединения с API. Из-за этой особенности GigaChat мы сосредоточились на разработке функциональной части чат-бота.
Главной проблемой оказалась невозможность нейросети GigaChat не отвечать на вопросы, не связанные с автомобилями и автохимией. Несмотря на настройки и множество вариантов промтов, нейросеть продолжала формировать ответы, даже если вопрос не имел отношения к теме.
После попыток обучения с использованием различных методов, нейросеть продолжала генерировать ответы на все запросы.
После анализа ситуации и неудачных попыток жесткого ограничения, был использован более гибкий и контекстуальный подход.
Мы решили, что нужно управление поведением пользователя. Поэтому в самом интерфейсе бота использовали текстовые подсказки - было явно обозначено, что в чат-бот нужно задавать вопросы, связанные исключительно с автомобилями и автохимией.
Чтобы справиться с проблемой, команда проекта постоянно обновляет версии GigaChat, интегрируя последние улучшения. После обновления GigaChat до версии Pro, качество ответов ИИ повысилось, практически не требуя изменений в логике бота.
Чат-бот с использованием GigaChat открыл новые горизонты в коммуникации с потребителями для нашего клиента.
Эффективная интеграция с Telegram позволила создать мгновенный и доступный канал общения для клиентов. QR-код, ссылающийся на чат-бот, был размещен на всех новых партиях антифриза и официальном сайте производителя.
Внедрение бота привело к увеличению числа коммуникации с потребителями, давая им возможность задавать вопросы, получать рекомендации и оперативно решать свои запросы.
Этот опыт подтверждает успешное внедрение искусственного интеллекта в сферу обслуживания и продаж автомобильных товаров, а также ставит производителя в ряд лидеров, предоставляющих высокотехнологичные и клиентоориентированные решения.