Узнайте, как Amazon Pharmacy создал своего чат-бота на основе LLM с использованием Amazon SageMaker

Открываем секреты создания чат-бота Amazon Pharmacy на базе LLM с использованием Amazon SageMaker

Amazon Pharmacy – это полноценная аптека на Amazon.com, предлагающая прозрачную ценообразование, клиническую и клиентскую поддержку, а также бесплатную доставку прямо к вашей двери. Агенты по клиентскому обслуживанию играют ключевую роль в быстром и точном извлечении информации, связанной с фармацевтической информацией, включая уточнения и статус перевода рецептов, детали заказа и выписки, а также информацию о профиле пациента в режиме реального времени. Amazon Pharmacy предоставляет интерфейс чата, в котором клиенты (пациенты и врачи) могут общаться онлайн с представителями по клиентскому обслуживанию (агентами). Одной из проблем, с которой сталкиваются агенты, является нахождение точной информации при ответе на вопросы клиентов, поскольку разнообразие, объём и сложность процессов в сфере здравоохранения (таких как объяснение предварительного разрешения) могут быть ошеломляющими. Поиск нужной информации, её резюмирование и объяснение занимает время, замедляя обслуживание пациентов.

Для решения этой проблемы Amazon Pharmacy создала генеративного искусственного интеллекта вопросно-ответного чатбот-ассистента, который позволяет агентам получать информацию с помощью естественноязыкового поиска в режиме реального времени, при этом сохраняя человеческое взаимодействие с клиентами. Решение соответствует требованиям закона HIPAA, обеспечивая конфиденциальность клиентов. Кроме того, агенты предоставляют свои отзывы по ответам, сгенерированным машиной, команде разработчиков Amazon Pharmacy, чтобы они могли использовать их для улучшения модели в будущем.

В этой статье мы расскажем, как Amazon Pharmacy реализовала своего ассистента чатбота для агентов по клиентскому обслуживанию с использованием продуктов искусственного интеллекта AWS, включая фундаментальные модели в Amazon SageMaker JumpStart, чтобы ускорить разработку. Мы начнём с описания общего опыта агентов по клиентскому обслуживанию с внедрением модели на основе большой модели языка (LLM). Затем мы расскажем, как решение использует методику Retrieval Augmented Generation (RAG) для его реализации. Наконец, мы опишем архитектуру продукта. В этой статье будет продемонстрировано, как генеративный искусственный интеллект интегрируется в уже функционирующее приложение в сложной и высокорегулируемой сфере бизнеса, что позволяет улучшить опыт клиентского обслуживания пациентов аптеки.

Q&A чатбот на основе LLM

На следующей диаграмме показана схема взаимодействия пациента с агентом клиентского обслуживания Amazon Pharmacy через чат (шаг 1). Агенты используют отдельный внутренний интерфейс клиентского обслуживания для задания вопросов чатботу на основе LLM (шаг 2). Затем интерфейс клиентского обслуживания отправляет запрос на бэкэнд-сервис, размещенный на AWS Fargate (шаг 3), где запросы оркестрируются с помощью комбинации моделей и процессов поиска данных. Этот процесс является основой решения чатбота на основе LLM, и его подробности будут объяснены в следующем разделе. По окончании этого процесса сгенерированный машиной ответ возвращается агенту, который может просмотреть ответ перед его предоставлением клиенту (шаг 4). Следует отметить, что агенты обучены применять свой собственный суд и использовать решение чатбота на основе LLM в качестве инструмента, дополняющего их работу, чтобы они могли уделить время личным взаимодействиям с клиентом. Агенты также помечают ответы, сгенерированные машиной, своими отзывами (например, положительные или отрицательные). Эта обратная связь затем используется командой разработчиков Amazon Pharmacy для улучшения решения (через настройку или улучшение данных), образуя непрерывный цикл разработки продукта с пользователем (шаг 5).

Схема процесса и общая архитектура

На следующей диаграмме показан пример взаимодействия с Q&A чатботом и агентом. Здесь агент задает вопрос о коде отклонения претензии. Q&A чатбот (Агент AI-ассистент) отвечает на вопрос с четким описанием кода отклонения. Он также предоставляет ссылку на оригинальную документацию для агентов, если это необходимо.

Пример снимка экрана из Q&A чатбота

Ускорение разработки моделей машинного обучения

На предыдущей схеме, изображающей рабочий процесс чатбота, мы пропустили детали обучения первоначальной версии моделей чатбота Q&A. Для этого команда разработки Amazon Pharmacy воспользовалась возможностями SageMaker JumpStart. SageMaker JumpStart позволил команде экспериментировать быстро с различными моделями, проводить различные тесты и бенчмарки, провалиться быстро, если это необходимо. Понятие провальной стратегии является концепцией, которую ученые и разработчики применяют для быстрого создания решений, максимально реалистичных, и извлекают уроки из своих усилий для его улучшения в следующей итерации. После того, как команда выбрала модель и провела необходимую настройку и настройку, они использовали размещение SageMaker для развертывания решения. Повторное использование базовых моделей в SageMaker JumpStart позволило команде разработки сэкономить месяцы работы, которые в противном случае потребовались бы для обучения моделей с нуля.

Шаблон проектирования RAG

Одной из ключевых частей решения является использование шаблона Retrieval Augmented Generation (RAG) для реализации решений Q&A. Первый шаг в этом шаблоне – определить набор известных пар вопросов и ответов, которые являются первоначальной истиной для решения. Следующий шаг – преобразовать вопросы в лучшее представление для целей сходства и поиска, это называется вложение (мы встраиваем объект более высокой размерности в гиперплоскость с меньшим количеством измерений). Это делается с помощью базовой вложенной модели. Эти вложения используются в качестве индексов для ответов, подобно тому, как индекс базы данных отображает первичный ключ на строку. Мы готовы поддерживать новые запросы, поступающие от клиента. Как объяснялось ранее, клиенты отправляют свои запросы агентам, которые затем взаимодействуют с чатботом на основе LLM. В чатботе Q&A запрос преобразуется во вложение, а затем используется как ключ поиска для сопоставления индекса (из предыдущего шага). Критерии сопоставления основаны на модели сходства, такой как FAISS или Служба поиска Amazon Open (дополнительные сведения см. в статье Пояснение возможностей векторной базы данных Amazon OpenSearch Service). Если найдены совпадения, извлекаются и используются лучшие ответы в качестве контекста подсказки для генеративной модели. Это соответствует второму шагу в шаблоне RAG – генеративному шагу. На этом шаге подсказка отправляется в LLM (генеративная базовая модель), которая составляет окончательный машинно-сгенерированный ответ на исходный вопрос. Этот ответ предоставляется через пользовательский интерфейс заботы о клиентах агенту, который проверяет ответ, отредактирует его при необходимости и отправит его обратно пациенту. Ниже приведена схема этого процесса.

Rag flow

Управление базой знаний

Как мы узнали с шаблоном RAG, первый шаг для выполнения Q&A состоит в получении данных (пары вопросов и ответов), которые будут использоваться в качестве контекста для подсказки LLM. Эти данные называются базой знаний чатбота. Примерами таких данных являются стандартные процедуры внутренней работы Amazon Pharmacy (SOP) и информация, доступная в Центре помощи Amazon Pharmacy. Для облегчения индексирования и процесса извлечения информации (как описано ранее), часто полезно собирать всю эту информацию, которая может быть размещена в разных решениях, таких как вики, файлы и базы данных, в одном репозитории. В случае чатбота Amazon Pharmacy мы используем Amazon Simple Storage Service (Amazon S3) для этой цели из-за его простоты и гибкости.

Обзор решения

На следующей схеме показана архитектура решения. Приложение по обслуживанию клиентов и чат-бот Q&A, основанный на модели LLM, развернуты в собственной виртуальной частной сети (VPC) для изоляции сети. Соединение между точками доступа VPC осуществляется через AWS PrivateLink, гарантируя их конфиденциальность. Также у чат-бота Q&A есть своя учетная запись AWS для разделения ролей, изоляции и удобства мониторинга с точки зрения безопасности, стоимости и соответствия требованиям. Логика оркестрации чат-бота Q&A находится в Fargate с использованием сервиса контейнеров Amazon Elastic Container Service (Amazon ECS). Для настройки PrivateLink сетевой балансировщик нагрузки Network Load Balancer проксирует запросы на балансировщик нагрузки приложений Application Load Balancer, который останавливает конечное TLS-соединение с клиентом и передает запросы в Fargate. Основным хранилищем данных является Amazon S3. Как упоминалось ранее, связанные входные данные импортируются в требуемом формате в учетную запись чат-бота Q&A и сохраняются в бакетах S3.

Архитектура решения

Что касается инфраструктуры машинного обучения (ML), Amazon SageMaker находится в центре архитектуры. Как объяснялось в предыдущих разделах, используются две модели: модель встраивания и модель LLM, и они размещены на двух отдельных точках доступа SageMaker. Используя функцию захвата данных SageMaker, мы можем регистрировать все запросы и ответы на выводы для устранения неполадок при соблюдении необходимых приватности и требований безопасности. Затем полученная обратная связь от агентов сохраняется в отдельном бакете S3.

Чат-бот Q&A разработан как решение для нескольких арендаторов и поддержки дополнительных продуктов для здравоохранения Amazon Health Services, таких как Amazon Clinic. Например, решение развертывается с использованием шаблонов AWS CloudFormation для создания инфраструктуры в виде кода (IaC), что позволяет использовать различные базы знаний.

Заключение

В этой статье было представлено техническое решение для улучшения обслуживания клиентов в генеративном ИИ Amazon Pharmacy. Решение включает в себя чат-бот для ответов на вопросы, реализующий паттерн RAG на платформе SageMaker и модели-основы в SageMaker JumpStart. С помощью этого решения агенты по обслуживанию клиентов могут оказывать помощь пациентам более быстро, предоставляя точные, информативные и краткие ответы.

Архитектура использует модульные микросервисы с отдельными компонентами для подготовки и загрузки базы знаний, логики чат-бота (инструкций), индексации и извлечения встраиваний, генерации контента LLM и осуществления обратной связи. Последнее особенно важно для постоянного усовершенствования модели. Модели-основы в SageMaker JumpStart используются для быстрого экспериментирования, а обслуживание моделей выполняется с помощью точек доступа SageMaker. Наконец, сервер чат-бота, соответствующий стандартам HIPAA, размещается на Fargate.

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

Вы можете начать экспериментировать с моделями-основами в SageMaker JumpStart сегодня, чтобы найти подходящие модели-основы для вашего случая использования и начать создавать ваше приложение с генеративным ИИ на SageMaker.