Виртуальный ассистент на основе ИИ
Клиент — международная корпорация, производитель продуктов для сбалансированного питания. География присутствия — порядка 100 стран мира. В корпорации более 8 тысяч сотрудников.
проблема и задачи
За годы работы бренд создал огромное количество контента: рецепты, описания продуктов, рекомендации от экспертов, презентации и видеоролики. Материалы раскиданы по множеству площадок. Находить релевантную информацию
в таком объёме материалов пользователю становится всё сложнее. Постепенно накапливается ошибочная и устаревшая информация.
Решение компания увидела в инструментах на основе AI. Генеративный искусственный интеллект способен искать нужную информацию в массиве данных и отвечать на вопросы клиентов. Решили создать для клиентов виртуального AI-ассистента.
Общение с ассистентом происходит в форме привычного диалога в мессенджере, в ответ пользователь получает связное сообщение и может уточнить ответ.
контекст
Время от времени нейросети «галлюцинируют» — в ответ на запрос дают информацию, не имеющую отношения к реальности. Это недопустимо в коммерческом продукте, который призван помогать клиенту с выбором и покупкой. Необходим впечатляющий опыт — в первую очередь благодаря точным и полезными ответам.
технология RAG
Повысить качество ответов позволяет технология RAG (Retrieval Augmented Generation). Перед генерацией ответа к запросу пользователя (промпту) добавляется релевантная информация из дополнительных источников. Затем языковая модель генерирует ответ не просто на основе «предсказания» наиболее вероятного следующего слова, а с учётом этой дополнительной верифицированной информации.
Часто RAG-решения реализуют с использованием векторной базы данных. Для этого данные клиента переводят в форму векторов — фрагментов информации в числовом виде. Мы изучили бизнес-кейсы и выяснили, что такой подход не гарантирует необходимой нам точности ответов.
Мы реализуем продвинутую версию RAG с применением графов знаний. Граф знаний — это структурированное представление информации в определённой области. Информация представлена в виде конструкций, где узлы — это сущности или концепции, а ребра — связи между ними. Графы моделируют знания так, чтобы они были понятны и человеку, и машине.
что мы сделали
1
Разработали онтологию знаний компании: определили, какие сущности и их свойства нужны пользователю. Стало понятно, как будет строиться наш граф знаний.
2
Подготовили данные заказчика. Обработали структурированные и неструктурированные данные, очистили их от html и других атрибутов. Смаппили данные в графах и таблицах.
3
Создали single source of truth — единую базу данных, где собраны нормализованные (то есть подготовленные, очищенные) данные. Отсюда данные поступают в Graph DB — графовую базу знаний.
4
Создали векторное хранилище. Здесь хранятся векторизированные данные заказчика. Ответы, основанные только на векторном поиске не всегда качественные, но он дополняет поиск по графам и делает результаты точнее.
5
Подключили OpenAI API, которое обрабатывает запросы на естественном языке.
Ответ, который получает пользователь не просто сгенерирован большой языковой моделью, но и обогащён релевантными данными из верифицированных заказчиком источников информации.
результаты
точные ответы
Ассистент справляется с запросами, связанными с ЗОЖ и продукцией бренда, а также даёт связные ответы на вопросы, не имеющие отношения к компании.
структура данных
Все важные знания, прежде разбросанные по разным площадкам, теперь структурированы и собраны в едином источнике.
универсальность
Конечным клиентам и консультантам компании теперь доступна точная, верифицированная экспертами информация о продуктах бренда.
простота использования
Общение с ассистентом — естественный диалог, близкий к комфортному формату разговора между людьми.
перспективы
В будущем мы реализуем кастомизированный поиск. После авторизации пользователь сможет получать ответы с учётом истории покупок и других уникальных особенностей.
Ещё одним этапом проекта станет создание персонального ассистента консультанта. На основе данных о том, как консультанты ведут своих клиентов, система сможет предлагать подсказки по коммуникациям в мессенджере.
технологический стек
OpenAI
Kafka
GraphDB
Postgres
Java
Python