Farmacia Amazonas es una farmacia de servicio completo en Amazon.com que ofrece precios transparentes, atención clínica y al cliente, y entrega gratuita directamente a su puerta. Los agentes de atención al cliente desempeñan un papel crucial en la recuperación rápida y precisa de información relacionada con la farmacia, incluidas aclaraciones de recetas y estado de transferencia, detalles de pedidos y dispensaciones, e información del perfil del paciente, en tiempo real. Amazon Pharmacy proporciona una interfaz de chat donde los clientes (pacientes y médicos) pueden hablar en línea con representantes de atención al cliente (agentes). Un desafío que enfrentan los agentes es encontrar la información precisa al responder las preguntas de los clientes, porque la diversidad, el volumen y la complejidad de los procesos de atención médica (como explicar las autorizaciones previas) pueden ser desalentadores. Encontrar la información correcta, resumirla y explicarla lleva tiempo, lo que ralentiza la velocidad para atender a los pacientes.
Para afrontar este desafío, Amazon Pharmacy creó un asistente de chatbot generativo de preguntas y respuestas con IA para permitir a los agentes recuperar información con búsquedas en lenguaje natural en tiempo real, preservando al mismo tiempo la interacción humana con los clientes. La solución cumple con HIPAA, lo que garantiza la privacidad del cliente. Además, los agentes envían sus comentarios relacionados con las respuestas generadas por máquina al equipo de desarrollo de Amazon Pharmacy, para que puedan usarse para futuras mejoras del modelo.
En esta publicación, describimos cómo Amazon Pharmacy implementó su solución de chatbot asistente de agente de atención al cliente utilizando productos de inteligencia artificial de AWS, incluidos modelos básicos en Amazon SageMaker JumpStart para acelerar su desarrollo. Comenzamos destacando la experiencia general del agente de atención al cliente con la incorporación del chatbot basado en el modelo de lenguaje grande (LLM). Luego explicamos cómo la solución utiliza el patrón Retrieval Augmented Generation (RAG) para su implementación. Finalmente, describimos la arquitectura del producto. Esta publicación demuestra cómo la IA generativa se integra en una aplicación que ya funciona en un negocio complejo y altamente regulado, mejorando la experiencia de atención al cliente para los pacientes de farmacia.
El chatbot de preguntas y respuestas basado en LLM
La siguiente figura muestra el flujo del proceso de un paciente que se comunica con el servicio de atención al cliente de Amazon Pharmacy a través del chat (Paso 1). Los agentes utilizan una interfaz de usuario interna de atención al cliente independiente para hacer preguntas al chatbot de preguntas y respuestas basado en LLM (Paso 2). Luego, la interfaz de usuario de atención al cliente envía la solicitud a un backend de servicio alojado en AWS Fargate (Paso 3), donde las consultas se organizan a través de una combinación de modelos y procesos de recuperación de datos, conocidos colectivamente como proceso RAG. Este proceso es el corazón de la solución de chatbot basada en LLM y sus detalles se explican en la siguiente sección. Al final de este proceso, la respuesta generada por la máquina se devuelve al agente, quien puede revisar la respuesta antes de devolvérsela al cliente final (Paso 4). Cabe señalar que los agentes están capacitados para ejercer su criterio y utilizar la solución de chatbot basada en LLM como una herramienta que aumenta su trabajo, para que puedan dedicar su tiempo a las interacciones personales con el cliente. Los agentes también etiquetan la respuesta generada por la máquina con su retroalimentación (por ejemplo, positiva o negativa). Luego, el equipo de desarrollo de Amazon Pharmacy utiliza estos comentarios para mejorar la solución (mediante ajustes o mejoras de datos), formando un ciclo continuo de desarrollo de producto con el usuario (Paso 5).
La siguiente figura muestra un ejemplo de la interacción de un chatbot de preguntas y respuestas y un agente. Aquí, el agente preguntaba sobre un código de rechazo de reclamo. El chatbot de preguntas y respuestas (Agent ai Assistant) responde la pregunta con una descripción clara del código de rechazo. También proporciona el enlace a la documentación original para que los agentes realicen un seguimiento, si es necesario.
Acelerar el desarrollo del modelo ML
En la figura anterior que muestra el flujo de trabajo del chatbot, omitimos los detalles de cómo entrenar la versión inicial de los modelos de chatbot de preguntas y respuestas. Para ello, el equipo de desarrollo de Amazon Pharmacy se benefició del uso de SageMaker JumpStart. SageMaker JumpStart permitió al equipo experimentar rápidamente con diferentes modelos, ejecutar diferentes puntos de referencia y pruebas y fallar rápidamente según fuera necesario. Fallando rápido es un concepto practicado por científicos y desarrolladores para crear rápidamente soluciones lo más realistas posible y aprender de sus esfuerzos para mejorarlas en la próxima iteración. Después de que el equipo decidió el modelo y realizó los ajustes y personalizaciones necesarios, utilizaron el hosting de SageMaker para implementar la solución. La reutilización de los modelos básicos en SageMaker JumpStart permitió al equipo de desarrollo reducir meses de trabajo que de otro modo habrían sido necesarios para entrenar modelos desde cero.
El patrón de diseño RAG
Una parte central de la solución es el uso de la Recuperación Generación Aumentada (RAG) patrón de diseño para implementar soluciones de preguntas y respuestas. El primer paso en este patrón es identificar un conjunto de pares de preguntas y respuestas conocidos, que es la verdad fundamental inicial para la solución. El siguiente paso es convertir las preguntas a una mejor representación con fines de similitud y búsqueda, lo que se denomina incrustar (Incorporamos un objeto de dimensiones superiores en un hiperplano con menos dimensiones). Esto se hace a través de un modelo de base específico para la incrustación. Estas incrustaciones se utilizan como índices de las respuestas, de forma muy similar a cómo un índice de base de datos asigna una clave principal a una fila. Ahora estamos listos para atender nuevas consultas provenientes del cliente. Como se explicó anteriormente, la experiencia consiste en que los clientes envían sus consultas a los agentes, quienes luego interactúan con el chatbot basado en LLM. Dentro del chatbot de preguntas y respuestas, la consulta se convierte en una incrustación y luego se usa como clave de búsqueda para un índice coincidente (del paso anterior). Los criterios de coincidencia se basan en un modelo de similitud, como ai.meta.com/tools/faiss/” target=”_blank” rel=”noopener”>FAISS o Amazon Open Search Service (para obtener más detalles, consulte las capacidades de base de datos vectoriales de Amazon OpenSearch Service explicadas). Cuando hay coincidencias, las respuestas principales se recuperan y se utilizan como contexto inicial para el modelo generativo. Esto corresponde al segundo paso del patrón RAG: el paso generativo. En este paso, el mensaje se envía al LLM (modal de base del generador), que compone la respuesta final generada por la máquina a la pregunta original. Esta respuesta se devuelve a través de la interfaz de usuario de atención al cliente al agente, quien valida la respuesta, la edita si es necesario y la envía de vuelta al paciente. El siguiente diagrama ilustra este proceso.
Gestionar la base de conocimientos
Como aprendimos con el patrón RAG, el primer paso para realizar preguntas y respuestas consiste en recuperar los datos (los pares de preguntas y respuestas) que se utilizarán como contexto para la indicación LLM. Estos datos se conocen como datos del chatbot. base de conocimientos. Ejemplos de estos datos son los procedimientos operativos estándar (SOP) internos de Amazon Pharmacy y la información disponible en Centro de ayuda de farmacia de Amazon. Para facilitar el proceso de indexación y recuperación (como se describió anteriormente), suele ser útil reunir toda esta información, que puede estar alojada en diferentes soluciones, como wikis, archivos y bases de datos, en un único repositorio. En el caso particular del chatbot de Amazon Pharmacy, utilizamos Amazon Simple Storage Service (Amazon S3) para este fin por su sencillez y flexibilidad.
Descripción general de la solución
La siguiente figura muestra la arquitectura de la solución. La aplicación de atención al cliente y el chatbot de preguntas y respuestas basado en LLM se implementan en su propia VPC para el aislamiento de la red. La conexión entre los endpoints de la VPC se realiza a través de AWS PrivateLink, garantizando su privacidad. El chatbot de preguntas y respuestas también tiene su propia cuenta de AWS para separar roles, aislar y facilitar el monitoreo por motivos de seguridad, costos y cumplimiento. La lógica de orquestación del chatbot de preguntas y respuestas está alojada en Fargate con Amazon Elastic Container Service (Amazon ECS). Para configurar PrivateLink, un balanceador de carga de red envía las solicitudes a un balanceador de carga de aplicaciones, que detiene la conexión TLS del cliente final y transfiere las solicitudes a Fargate. El servicio de almacenamiento principal es Amazon S3. Como se mencionó anteriormente, los datos de entrada relacionados se importan al formato deseado dentro de la cuenta del chatbot de preguntas y respuestas y se conservan en los depósitos de S3.
Cuando se trata de infraestructura de aprendizaje automático (ML), Amazon SageMaker está en el centro de la arquitectura. Como se explicó en las secciones anteriores, se utilizan dos modelos, el modelo de integración y el modelo LLM, y estos se alojan en dos puntos finales de SageMaker separados. Al utilizar la función de captura de datos de SageMaker, podemos registrar todas las solicitudes de inferencia y respuestas con fines de resolución de problemas, con las restricciones de privacidad y seguridad necesarias. A continuación, los comentarios recibidos de los agentes se almacenan en un depósito S3 independiente.
El chatbot de preguntas y respuestas está diseñado para ser una solución multiinquilino y admitir productos de salud adicionales de Amazon Health Services, como Amazon Clinic. Por ejemplo, la solución se implementa con plantillas de AWS CloudFormation para infraestructura como código (IaC), lo que permite utilizar diferentes bases de conocimiento.
Conclusión
Esta publicación presentó la solución técnica para mejorar la atención al cliente con IA generativa de Amazon Pharmacy. La solución consiste en un chatbot de respuesta a preguntas que implementa el patrón de diseño RAG en SageMaker y modelos básicos en SageMaker JumpStart. Con esta solución, los agentes de atención al cliente pueden ayudar a los pacientes más rápidamente y, al mismo tiempo, brindar respuestas precisas, informativas y concisas.
La arquitectura utiliza microservicios modulares con componentes separados para la preparación y carga de la base de conocimientos, lógica de chatbot (instrucciones), integración de indexación y recuperación, generación de contenido LLM y supervisión de retroalimentación. Esto último es especialmente importante para las mejoras continuas del modelo. Los modelos básicos de SageMaker JumpStart se utilizan para una experimentación rápida con el servicio de modelos realizado con puntos finales de SageMaker. Finalmente, el servidor de chatbot compatible con HIPAA está alojado en Fargate.
En resumen, vimos cómo Amazon Pharmacy utiliza la IA generativa y AWS para mejorar la atención al cliente y al mismo tiempo priorizar los principios y prácticas responsables de la IA.
Puede comenzar a experimentar con modelos básicos en SageMaker JumpStart hoy para encontrar los modelos básicos adecuados para su caso de uso y comenzar a construir su aplicación de IA generativa en SageMaker.
Sobre el Autor
Burak Gozluklu es un arquitecto principal de soluciones especializado en IA/ML ubicado en Boston, MA. Ayuda a los clientes globales a adoptar tecnologías de AWS y específicamente soluciones de IA/ML para lograr sus objetivos comerciales. Burak tiene un doctorado en Ingeniería Aeroespacial de METU, una maestría en Ingeniería de Sistemas y un postdoctorado en dinámica de sistemas del MIT en Cambridge, MA. Burak es un apasionado del yoga y la meditación.
Jangwon Kim es científico aplicado sénior en Amazon Health Store & tech. Tiene experiencia en LLM, PNL, Speech ai y Búsqueda. Antes de unirse a Amazon Health, Jangwon fue científico aplicado en Amazon Alexa Speech. Tiene su sede en Los Ángeles.
Alejandro Alves es ingeniero principal sénior en Amazon Health Services y se especializa en aprendizaje automático, optimización y sistemas distribuidos. Ayuda a ofrecer experiencias de salud orientadas al bienestar.
Nirvay Kumar es ingeniero de desarrollo de software sénior en Amazon Health Services y lidera la arquitectura dentro de operaciones de farmacia después de muchos años en tecnologías de cumplimiento. Con experiencia en sistemas distribuidos, ha cultivado una pasión creciente por el potencial de la IA. Nirvay canaliza su talento en sistemas de ingeniería que resuelven necesidades reales de los clientes con creatividad, cuidado, seguridad y una visión a largo plazo. Cuando no camina por las montañas de Washington, se centra en un diseño bien pensado que anticipa lo inesperado. Nirvay tiene como objetivo construir sistemas que resistan la prueba del tiempo y satisfagan las necesidades cambiantes de los clientes.