О чём эта история
Банки.ру — российская финансовая платформа онлайн‑сервисов, лидер по трафику среди финансовых маркетплейсов в стране. По данным SimilarWeb, входит в топ‑5 мировых интернет‑ресурсов этого сегмента. Сайт ежемесячно посещают более 28 млн раз.
Компания разработала чат‑бота на базе YandexGPT, чтобы упростить доступ к внутренней базе знаний. Решение оказалось настолько эффективным, что компания решила запустить его и для внешних пользователей. Новый чат-бот значительно упростил и ускорил поиск информации. На весь процесс внедрения ушло 37 дней, при этом большую часть времени заняла подготовка и очистка данных в Вики.
Улучшить доступ к корпоративным знаниям с помощью LLM
Сервис Банки.ру позволяет пользователям подбирать и оформлять финансовые продукты по заданным индивидуальным параметрам. Из сотен предложений можно выбрать подходящее и отправить заявку напрямую с сайта или из мобильного приложения — в банк, страховую, микрофинансовую или инвестиционную компанию. Сервис поддерживает более 20 продуктовых категорий и сотрудничает более чем c 300 партнёрами. Зарегистрировано 20 млн пользователей, а ежемесячно обрабатывается свыше 2 млн заявок.
У компании большая база знаний — 135 ГБ данных, которая пополняется на 1,5 ГБ в неделю. В ней более 630 тыс. страниц текста. Поиск по базе работал по точному совпадению слов и плохо справлялся с синонимами. Чтобы упростить доступ к корпоративным знаниям, в компании решили создать чат-бота с искусственным интеллектом. Банки.ру давно использует облачную инфраструктуру, поэтому новый проект тоже решили развернуть там.
Банки.ру сотрудничает с Yandex Cloud, например, часть данных хранится в Yandex Managed Service for Greenplum®. Поэтому разместить чат-бота на той же платформе было логичным шагом. Команда разработки учитывала, что в облаке легко развернуть решение, масштабировать проект и управлять расходами. Кроме того, важным критерием была скорость ответа сервиса. У YandexGPT время ответа составило 1,3 секунды, что соответствовало требованиям компании.
YandexGPT для чат-бота
Изначально чат‑бот Банки.ру создавался как пет‑проект для коллег и воспринимался как эксперимент. Его протестировали около 300 сотрудников, после чего команда решила доработать решение и открыть доступ внешним пользователям.
Всю разработку чат‑бота команда Банки.ру провела самостоятельно за 37 дней при консультационной поддержке Yandex Cloud. Причём приблизительно 60% времени заняла очистка материалов Вики. Чат‑бот спроектирован как отдельное решение и интегрирован с корпоративным мессенджером Slack и Вики Банки.ру, которую разместили во внешнем ЦОД. Бот написан на PHP, а модуль вопросов и ответов Q&A service — на Python.
Команда развернула кластер Yandex Managed Service for Kubernetes® для Docker‑контейнеров с сервисами и их оркестрации. Для извлечения и обработки данных из Вики и их сохранения в векторном виде в Yandex Managed Service for PostgreSQL команда использовала Apache Airflow™. Там же настроили DAG (направленный ациклический граф), работающий по расписанию и обновляющий данные в базе.
Пользователь формулирует запрос, который по REST API отправляется в модуль Q&A service. Этот сервис обращается к базе данных Redis™, где хранится кратковременная история предыдущего общения с клиентом, и одновременно — к YandexGPT, чтобы определить тему запроса и преобразовать его в эмбеддинг. Затем Q&A service обращается к Yandex Managed Service for OpenSearch, который находит релевантные документы в Managed Service for PostgreSQL с векторными данными из Вики.
Затем формируется промт: он включает вопрос пользователя, найденные фрагменты из базы знаний (в виде текста) и, при необходимости, контекст из Redis™. Этот промт отправляется в YandexGPT, который генерирует финальный человекочитаемый ответ.
Ответ за 1,3 секунды
Команда существенно упростила и ускорила поиск информации в корпоративной базе знаний. Раньше сотрудники тратили на это от получаса до часа, а иногда приходилось обращаться к владельцу информации за помощью. Сейчас ответ на запрос приходит меньше чем за 1,3 секунды.
Чат‑бот Банки.ру запущен в тестовую эксплуатацию, команда планирует запустить его для внешних пользователей в приложении Банки.ру — под названием «Финансовый ассистент».
Компания планирует ввести классификатор тем, чтобы повысить точность ответов. Это стало актуально из‑за частых совпадений формулировок вопросов, относящихся к разным темам. Кроме того, сейчас команда начала разработку сервиса, который будет находить сгенерированные с помощью ИИ отзывы или некорректную информацию. В этом решении также планируют использовать YandexGPT.
Мнение
Проект, начавшийся как исследование, позволил нам создать продукт, который уже эффективно работает в нашей компании. Решение разработать чат‑бота на базе платформы Yandex Cloud существенно упростило нам задачу за счёт возможности быстрого подключения нескольких сервисов. При этом стоимость ресурсов, используемых в Yandex Cloud, не оказала существенной нагрузки на наш бюджет.