ИИ-решение для производителя антифриза на базе GigaChat

Задача от клиента

Сейчас уже никого не удивишь сайтом или собственным приложением. Многие веб-ресурсы создаются в рамках маркетинговых стратегий и предназначены для одной небольшой задачи.

Наш клиент, крупный производитель антифриза, решил, что ему нужен чат-бот, который будет предоставлять консультации для автолюбителей. Так он сможет улучшить взаимодействие с покупателями и даст им легкий доступ к качественной информации и рекомендациям.

Заказчик сразу упомянул, что хочет использовать ИИ-решение, так как о нейросетях говорят все и нужно быть в тренде. А наша команда NooSoft всегда рада взяться за такие проекты.

Давайте определимся, почему в этом проекте стоит внедрить ИИ:

  • ИИ адаптируется к стилю общения пользователя.
  • Автоматизированный анализ и генерация текста позволяют боту реагировать мгновенно, обеспечивая быстрые консультации.
  • ИИ сможет активно продвигать продукцию клиента, включая рекомендации использования антифриза конкретного вида в подходящих ситуациях.

И если выделять смысл проекта в двух предложениях, то он будет выглядеть так:

  1. Основная идея - интеграция искусственного интеллекта в чат-бот.
  2. Цель - обеспечение клиентов оперативными и точными ответами на вопросы.

Как обычно, начинаем с подготовки

Первый и главный этап - разработка логики. Мы создали механизм общения с пользователями, и он гарантировал решение их запросов.

Пройдемся по стандартному принципу работы.

При запуске бота открывается меню, предоставляющее пользователю несколько опций:

  • узнать больше об антифризе;
  • перейти на официальный сайт;
  • задать вопрос.
/users_files/NooSoft/Картинка меню 
.png

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

/users_files/NooSoft/картинка со ссылками на покупку.png

Как работает механизм общения: 

  1. Вопросы, не связанные с автомобилями, остаются без ответа.
  2. Вопросы про автомобили передаются нейронной сети, которая отвечает на запросы. Если пользователь недоволен ответом, то к чату подключается специалист.
/users_files/NooSoft/картинка сценария.png

Логика выстроена и дело осталось за малым - перенести схему в код и получить реальный продукт.

Создание и обучение

Мы начали разработку с появления минимального ТЗ. Изначально в нем был описан самый простой сценарий использования.

Первая версия чата давала ответы на все вопросы, без возможности отправки к специалисту. Уже после её тестирования был доработан более сложный алгоритм с двумя сценариями:

  1. В первом искусственный интеллект отвечает на вопросы пользователя.
  2. В случае неудовлетворенности ответа, пользователь начинает общение со специалистом прямо в чате бота.

Чтобы бот работал как было задумано, мы разработали специальный промпт (набор команд для нейронной сети). Его задача заключается в определении, связан ли вопрос пользователя с одной из двух тем:

  1. Автомобиль и обслуживание.
  2. Автохимия.

Смысл промта прост и строится на условии “Если …, то…”. Получается, что ответ формируется, если вопрос касается указанных тем, в ином случае предлагается отправить другой запрос.

/users_files/NooSoft/картинка с двумя видами сценария на практике
.png

Пример взаимодействия

Допустим, применяется следующий вариант промпта: "Классифицируй вопрос по теме. Если вопрос не связан с темами 'Автомобиль и обслуживание' или 'Автохимия', не отвечай. Если вопрос связан с темой 'Автохимия', рекомендуй продукцию “Заказчик”."

Вопрос от пользователя: "Как выбрать подходящий антифриз для моего автомобиля?"

В данном случае, вопрос соответствует теме "Автохимия", и чат-бот должен предоставить соответствующий ответ и рекомендовать продукт клиента.

Такой подход к обучению ИИ позволяет сфокусироваться на конкретных областях. Однако, при тщательном тестировании промптов, они потребовали доработок для обеспечения корректной работы в реальных условиях.

Одновременно шла разработка административной панели для управления.

Был внедрен функционал просмотра списка пользователей в боте. Администратор может легко выбирать и открывать диалоговое окно с конкретным человеком, быстро реагируя на вопросы, на которые не смог ответить бот.

/users_files/NooSoft/картинка со списком пользователей.png

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

/users_files/NooSoft/картинка с возможностью редактирования промокода.png

И конечно же, не забыли про раздел статистики: количество активных пользователей, взаимодействий и популярные запросы. Эта информация помогает в  принятии решений и разработке новых стратегий продвижения продукции.

/users_files/NooSoft/картинка со статистикой.png

Технологический стек для реализации 

Для реализации чат-бота команда 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. Она помогла внедрить мощные функции искусственного интеллекта в чат-бот, расширяя его возможности.

Такой технологический стек гарантировал не только высокую функциональность и производительность, но и удобство в разработке и последующей поддержке проекта.

Почему GigaChat?

При рассмотрении множества альтернатив Large Language Models (LLM) для проекта, команда Noosoft приняла решение в пользу GigaChat. Потому что у него есть ряд плюсов:

1. Готовая библиотека для API снижает сложность кодирования, поэтому можно быстро интегрировать функции искусственного интеллекта в наш чат-бот.

2. GigaChat выделяется простотой настройки и  интуитивно понятной документацией, что позволяет быстро его освоить и использовать в проекте. 

3. Отсутствие необходимости в VPN обеспечило быстрое внедрение, так как не потребовалось дополнительных шагов для безопасного соединения с API. Из-за этой особенности GigaChat мы сосредоточились на разработке функциональной части чат-бота.

Не всё пошло гладко… 

Главной проблемой оказалась невозможность нейросети GigaChat не отвечать на вопросы, не связанные с автомобилями и автохимией. Несмотря на настройки и множество вариантов промтов, нейросеть продолжала формировать ответы, даже если вопрос не имел отношения к теме.

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

После анализа ситуации и неудачных попыток жесткого ограничения, был использован более гибкий и контекстуальный подход.

Мы решили, что нужно управление поведением пользователя. Поэтому в самом интерфейсе бота использовали текстовые подсказки - было явно обозначено, что в чат-бот нужно задавать вопросы, связанные  исключительно с автомобилями и автохимией. 

Чтобы справиться с проблемой, команда проекта постоянно обновляет версии GigaChat, интегрируя последние улучшения. После обновления GigaChat до версии Pro, качество ответов ИИ повысилось, практически не требуя изменений в логике бота.

Результат

Чат-бот с использованием GigaChat открыл новые горизонты в коммуникации с потребителями для нашего клиента. 

Эффективная интеграция с Telegram позволила создать мгновенный и доступный канал общения для клиентов. QR-код, ссылающийся на чат-бот, был размещен на всех новых партиях антифриза и официальном сайте производителя.

Внедрение бота привело к увеличению числа коммуникации с потребителями, давая им возможность задавать вопросы, получать рекомендации и оперативно решать свои запросы.

Этот опыт подтверждает успешное внедрение искусственного интеллекта в сферу обслуживания и продаж автомобильных товаров, а также ставит производителя в ряд лидеров, предоставляющих высокотехнологичные и клиентоориентированные решения.