Logotipo de Zephyrnet

Implemente respuesta de preguntas de autoservicio con la solución QnABot en AWS impulsada por Amazon Lex con Amazon Kendra y modelos de lenguaje de gran tamaño | Servicios web de Amazon

Fecha:

Impulsado por Amazon lex, el QnABot en AWS La solución es un chatbot conversacional de código abierto, multicanal y multilingüe. QnABot le permite implementar rápidamente IA conversacional de autoservicio en su centro de contacto, sitios web y canales de redes sociales, reduciendo costos, acortando tiempos de espera y mejorando la experiencia del cliente y el sentimiento de marca. Los clientes ahora quieren aplicar el poder de los grandes modelos de lenguaje (LLM) para mejorar aún más la experiencia del cliente con capacidades de IA generativa. Esto incluye generar automáticamente respuestas precisas a partir de bases de conocimiento y documentos existentes de la empresa, y hacer que sus chatbots de autoservicio sean más conversacionales.

Nuestras últimas versiones de QnABot, v5.4.0+, ahora pueden usar un LLM para eliminar la ambigüedad de las preguntas de los clientes teniendo en cuenta el contexto conversacional, generando dinámicamente respuestas a partir de preguntas frecuentes relevantes o amazona kendra resultados de búsqueda y pasajes de documentos. También proporciona atribución y transparencia al mostrar enlaces a los documentos de referencia y pasajes de contexto que utilizó el LLM para construir las respuestas.

Cuando implementa QnABot, puede optar por implementar automáticamente un modelo LLM de código abierto de última generación (Falcon-40B-instruir) en una Amazon SageMaker punto final. El panorama de LLM está en constante evolución: con frecuencia se lanzan nuevos modelos y nuestros clientes quieren experimentar con diferentes modelos y proveedores para ver cuál funciona mejor para sus casos de uso. Es por eso que QnABot también se integra con cualquier otro LLM utilizando un AWS Lambda función que usted proporciona. Para ayudarlo a comenzar, también publicamos un conjunto de funciones Lambda implementables con un solo clic de muestra (plugins) para integrar QnABot con su elección de proveedores líderes de LLM, incluido el nuestro lecho rocoso del amazonas Servicio y API de proveedores externos, Anthropic y AI21.

En esta publicación, presentamos las nuevas funciones de IA generativa para QnABot y recorremos un tutorial para crear, implementar y personalizar QnABot para usar estas funciones. También analizamos algunos casos de uso relevantes.

Nuevas funciones de IA generativa

Al utilizar el LLM, QnABot ahora tiene dos nuevas características importantes, que analizamos en esta sección.

Genere respuestas a preguntas a partir de resultados de búsqueda de Amazon Kendra o pasajes de texto

QnABot ahora puede generar respuestas concisas a preguntas a partir de extractos de documentos proporcionados por una búsqueda de Amazon Kendra o pasajes de texto creados o importados directamente. Esto proporciona las siguientes ventajas:

  • La cantidad de preguntas frecuentes que necesita mantener e importar a QnABot se reduce porque ahora puede sintetizar respuestas concisas sobre la marcha a partir de sus documentos existentes.
  • Las respuestas generadas se pueden modificar para crear la mejor experiencia para el canal deseado. Por ejemplo, puede configurar las respuestas para que sean breves, concisas y adecuadas para los robots del centro de contacto del canal de voz, y los robots de sitios web o de texto podrían proporcionar información más detallada.
  • Las respuestas generadas son totalmente compatibles con el soporte multilingüe de QnABot: los usuarios pueden interactuar en los idiomas que elijan y recibir respuestas generadas en el mismo idioma.
  • Las respuestas generadas pueden incluir enlaces a los documentos de referencia y pasajes de contexto utilizados, para proporcionar atribución y transparencia sobre cómo el LLM construyó las respuestas.

Por ejemplo, cuando se le pregunta "¿Qué es Amazon Lex?", QnABot puede recuperar pasajes relevantes de un índice de Amazon Kendra (que contiene documentación de AWS). Luego, QnABot solicita (solicita) al LLM que responda la pregunta según el contexto de los pasajes (que también se pueden ver opcionalmente en el cliente web). La siguiente captura de pantalla muestra un ejemplo.

Eliminar ambigüedades en las preguntas de seguimiento que se basan en el contexto de la conversación anterior

Comprender la dirección y el contexto de una conversación en constante evolución es clave para construir interfaces conversacionales naturales y humanas. Las consultas de los usuarios a menudo requieren que un bot interprete las solicitudes en función de la memoria y el contexto de la conversación. Ahora QnABot le pedirá al LLM que genere una pregunta sin ambigüedades basada en el historial de conversaciones. Luego, esto se puede utilizar como consulta de búsqueda para recuperar las preguntas frecuentes, los pasajes o los resultados de Amazon Kendra para responder la pregunta del usuario. El siguiente es un ejemplo de historial de chat:

Human: What is Amazon Lex?
AI: "Amazon Lex is an AWS service for building conversational interfaces for applications using voice and text..."
Human: Can it integrate with my CRM?

QnABot utiliza el LLM para reescribir la pregunta de seguimiento para que "eso" no sea ambiguo, por ejemplo, "¿Puede Amazon Lex integrarse con mi sistema CRM?" Esto permite a los usuarios interactuar como lo harían en una conversación humana, y QnABot genera consultas de búsqueda claras para encontrar las preguntas frecuentes relevantes o pasajes de documentos que tienen la información para responder la pregunta del usuario.

Estas nuevas funciones hacen que QnABot sea más conversacional y brindan la capacidad de generar respuestas dinámicamente basadas en una base de conocimientos. Esta es todavía una característica experimental con un potencial tremendo. Recomendamos encarecidamente a los usuarios que experimenten para encontrar el mejor LLM y las indicaciones y parámetros de modelo correspondientes para usar. ¡QnABot hace que experimentar sea sencillo!

Tutorial

¡Es hora de probarlo! Implementemos el último QnABot (v5.4.0 o posterior) y habilitemos las nuevas funciones de IA generativa. Los pasos de alto nivel son los siguientes:

  1. Cree y complete un índice de Amazon Kendra.
  2. Elija e implemente un complemento LLM (opcional).
  3. Implementar QnABot.
  4. Configure QnABot para su complemento Lambda (si usa un complemento).
  5. Accede al cliente web QnABot y comienza a experimentar.
  6. Personalice el comportamiento utilizando la configuración de QnABot.
  7. Agregue preguntas y respuestas seleccionadas y pasajes de texto a la base de conocimientos.

Crear y completar un índice de Amazon Kendra

Descargue y use lo siguiente Plantilla de AWS CloudFormation para crear un nuevo índice de Amazon Kendra.

Esta plantilla incluye datos de muestra que contienen documentación en línea de AWS para Amazon Kendra, Amazon Lex y SageMaker. La implementación de la pila requiere unos 30 minutos seguidos de unos 15 minutos para sincronizarla e ingerir los datos en el índice.

Cuando la pila de índices de Amazon Kendra se implemente correctamente, navegue hasta la pila Salidas pestaña y observe la Index Id, que utilizará más adelante cuando implemente QnABot.

Alternativamente, si ya tiene un índice de Amazon Kendra con su propio contenido, puede usarlo con sus propias preguntas de ejemplo para el tutorial.

Elija e implemente un complemento LLM (opcional)

QnABot puede implementar un LLM integrado (Falcon-40B-instruct en SageMaker) o usar funciones Lambda para llamar a cualquier otro LLM de su elección. En esta sección, le mostramos cómo utilizar la opción Lambda con una función Lambda de muestra prediseñadas. Vaya al siguiente paso si desea utilizar el LLM integrado.

Primero, elija el complemento LLM que desea utilizar. Revise sus opciones desde el qnabot-on-aws-plugin-samples repositorio README. Al momento de escribir este artículo, hay complementos disponibles para Amazon Bedrock (en versión preliminar) y para las API de terceros AI21 y Anthropic. Esperamos agregar más complementos de muestra con el tiempo.

Implemente el complemento elegido eligiendo Pila de lanzamiento existentes Implementar una nueva pila de complementos sección, que se desplegará en el us-east-1 Región de forma predeterminada (para implementar en otras regiones, consulte Cree y publique complementos de QnABot artefactos de CloudFormation).

Cuando la pila de complementos se implemente correctamente, navegue hasta la pila Salidas (consulte la siguiente captura de pantalla) e inspeccione su contenido, que utilizará en los siguientes pasos para implementar y configurar QnABot. Mantenga esta pestaña abierta en su navegador.

Implementar QnABot

Elige Solución de lanzamiento del QnABot Guía de implementación para implementar la última plantilla de QnABot a través de AWS CloudFormation. Proporcione los siguientes parámetros:

  • DefaultKendraIndexId, utilice el ID del índice de Amazon Kendra (un GUID) que recopiló anteriormente
  • EmbeddingsApi (consulta: Búsqueda semántica mediante incrustaciones de texto), Elige uno de los siguientes:
    • SAGEMAKER (el modelo de incrustaciones integrado predeterminado)
    • LAMBDA (para utilizar la API de incorporación de Amazon Bedrock con el BEDROCK-EMBEDDINGS-AND-LLM Enchufar)
      • EmbeddingsLambdaArn, utilizar el EmbeddingsLambdaArn valor de salida de su BEDROCK-EMBEDDINGS-AND-LLM Pila de complementos.
  • LLMApi (consulta: Desambiguación de consultas para recuperación conversacional y respuesta generativa a preguntas), Elige uno de los siguientes:
    • SAGEMAKER (el modelo LLM integrado predeterminado)
    • LAMBDA (para utilizar el complemento LLM implementado anteriormente)
      • LLMLambdaArn, utilizar el LLMLambdaArn valor de salida de su pila de complementos

Para todos los demás parámetros, acepte los valores predeterminados (consulte la Guía de implementación para definiciones de parámetros) y proceda a iniciar la pila QnABot.

Configure QnABot para su complemento Lambda (si usa un complemento)

Si implementó QnABot utilizando un complemento LLM Lambda de muestra para acceder a un LLM diferente, actualice los parámetros del modelo QnABot y solicite la configuración de la plantilla según lo recomendado para el complemento elegido. Para más información, ver Actualizar la configuración de QnABot. Si utilizó la opción LLM de SageMaker (integrada), pase al siguiente paso, porque los ajustes ya están configurados para usted.

Accede al cliente web QnABot y empieza a experimentar

En la consola de AWS CloudFormation, elija el Salidas pestaña de la pila QnABot CloudFormation y elija el ClientURL enlace. Alternativamente, inicie el cliente eligiendo QnABot en el cliente AWS desde el menú de herramientas del Diseñador de contenido.

Ahora intente hacer preguntas relacionadas con los servicios de AWS, por ejemplo:

  • ¿Qué es Amazon Lex?
  • ¿Cómo amplía SageMaker las cargas de trabajo de inferencia?
  • ¿Kendra es un servicio de búsqueda?

Luego puede hacer preguntas de seguimiento sin especificar los servicios o el contexto mencionados anteriormente, por ejemplo:

  • ¿Es seguro?
  • ¿Es escalable?

Personalice el comportamiento usando la configuración de QnABot

Puede personalizar muchas configuraciones en el QnABot Configuración del diseñador de contenido página—ver LÉAME - Configuración de LLM para obtener una lista completa de configuraciones relevantes. Por ejemplo, pruebe lo siguiente:

  • Set ENABLE_DEBUG_RESPONSES a TRUE, guarde la configuración y vuelva a intentar las preguntas anteriores. Ahora verá resultados de depuración adicionales en la parte superior de cada respuesta, que le muestran cómo el LLM genera la consulta de búsqueda de Amazon Kendra en función del historial de chat, cuánto tiempo tardaron en ejecutarse las inferencias del LLM y más. Por ejemplo:
    [User Input: "Is it fast?", LLM generated query (1207 ms): "Does Amazon Kendra provide search results quickly?", Search string: "Is it fast? / Does Amazon Kendra provide search results quickly?"["LLM: LAMBDA"], Source: KENDRA RETRIEVE API

  • Set ENABLE_DEBUG_RESPONSES de nuevo a FALSEestablecer LLM_QA_SHOW_CONTEXT_TEXT y LLM_QA_SHOW_SOURCE_LINKS a FALSEy vuelva a probar los ejemplos. Ahora los enlaces de contexto y fuentes no se muestran y el resultado contiene solo la respuesta generada por LLM.
  • Si se siente aventurero, experimente también con la configuración de la plantilla de solicitud de LLM:LLM_GENERATE_QUERY_PROMPT_TEMPLATE y LLM_QA_PROMPT_TEMPLATE. Referirse a LÉAME - Configuración de LLM para ver cómo puede usar marcadores de posición para valores de tiempo de ejecución como historial de chat, contexto, entrada del usuario, consulta y más. Tenga en cuenta que lo más probable es que las indicaciones predeterminadas se puedan mejorar y personalizar para que se adapten mejor a sus casos de uso, ¡así que no tema experimentar! Si rompes algo, siempre puedes volver a la configuración predeterminada usando el RESTABLECER LOS VALORES PREDETERMINADOS opción en la página de configuración.

Agregue preguntas y respuestas seleccionadas y pasajes de texto a la base de conocimientos

Por supuesto, QnABot puede seguir respondiendo preguntas basadas en preguntas y respuestas seleccionadas. También puede utilizar el LLM para generar respuestas a partir de pasajes de texto creados o importados directamente a QnABot, además de utilizar el índice de Amazon Kendra.

QnABot intenta encontrar una buena respuesta a la pregunta del usuario sin ambigüedades en la siguiente secuencia:

  1. Elementos de preguntas y respuestas
  2. Elementos de pasaje de texto
  3. Índice de Amazon Kendra

Probemos algunos ejemplos.

En el menú de herramientas de QnABot Content Designer, elija Importa, luego cargue los dos paquetes de ejemplo:

  • TextPassages-NurseryRhymeExamples
  • blog-samples-final

QnABot puede utilizar incrustaciones de texto para proporcionar capacidad de búsqueda semántica (utilizando el índice OpenSearch integrado de QnABot como almacén de vectores), lo que mejora la precisión y reduce el ajuste de preguntas, en comparación con la coincidencia estándar basada en palabras clave de OpenSearch. Para ilustrar esto, pruebe preguntas como las siguientes:

  • “Háblame del dispositivo Alexa con pantalla”
  • “¿Háblame del dispositivo de transmisión de video de Amazon?”

Lo ideal es que coincidan con la QNA de muestra que importó, aunque las palabras utilizadas para formular la pregunta sean malas coincidencias de palabras clave (pero buenas coincidencias semánticas) con los elementos de QnA configurados: Alexa.001 (¿Qué es un Amazon Echo Show) y FireTV.001 (Qué es un Amazon Fire TV).

Incluso si (todavía) no está utilizando Amazon Kendra (¡y debería hacerlo!), QnABot también puede responder preguntas basadas en pasajes creados o importados a Content Designer. Las siguientes preguntas (y las preguntas de seguimiento) se responden a partir de un pasaje de texto importado que contiene la canción infantil. 0.HumptyDumpty:

  • “¿Dónde se sentó Humpty Dumpty antes de caer?”
  • “¿Qué pasó después de que se cayó? ¿Estaba bien?

Cuando se utilizan incrustaciones, una buena respuesta es una respuesta que devuelve una puntuación de similitud por encima del umbral definido por la configuración de umbral correspondiente. Ver Concordancia de preguntas semánticas, utilizando incrustaciones de texto de modelos de lenguaje grandes para obtener más detalles sobre cómo probar y ajustar la configuración del umbral.

Si no hay buenas respuestas, o si la respuesta del LLM coincide con la expresión regular definida en LLM_QA_NO_HITS_REGEX, entonces QnABot invoca el configurable Personalizado No lo sé (no_hits) comportamiento, que, de forma predeterminada, devuelve un mensaje que dice "Me dejaste perplejo".

Pruebe algunos experimentos creando preguntas y respuestas o elementos de pasaje de texto en QnABot, así como utilizando un índice de Amazon Kendra para obtener respuestas generativas alternativas. Experimento (usando el PROBAR en el diseñador) para encontrar los mejores valores a utilizar en la configuración del umbral de incrustación para obtener el comportamiento que desea. Es difícil conseguir el equilibrio perfecto, pero trata de encontrar un equilibrio lo suficientemente bueno que dé como resultado respuestas útiles la mayor parte del tiempo.

Limpiar

¡Por supuesto, puedes dejar QnABot ejecutándose para experimentar con él y mostrárselo a tus colegas! Pero sí conlleva algunos costos (consulte Planifique su implementación – Costo para más detalles. Para eliminar los recursos y evitar costos, elimine las siguientes pilas de CloudFormation:

  • Pila QnABot
  • Pila de complementos LLM (si corresponde)
  • Pila de índices de Amazon Kendra

Ejemplos de casos de uso

Estas nuevas características hacen que QnABot sea relevante para muchos casos de uso de clientes, como bots de soporte y servicio al cliente de autoservicio y bots automatizados de preguntas y respuestas basados ​​en la web. En esta sección analizamos dos de estos casos de uso.

Integre con un centro de contacto

Las capacidades de respuesta automatizada a preguntas de QnABot ofrecen un autoservicio eficaz para llamadas de voz entrantes en centros de contacto, con resultados convincentes. Por ejemplo, vea cómo El Gabinete de Transporte de Kentucky redujo el tiempo de espera de las llamadas y mejoró la experiencia del cliente con agentes virtuales de autoservicio que utilizan Amazon Connect y Amazon Lex.. La integración de las nuevas funciones de IA generativa fortalece aún más esta propuesta de valor al generar dinámicamente respuestas confiables a partir de contenido existente, como documentos, bases de conocimiento y sitios web. Esto elimina la necesidad de que los diseñadores de bots anticipen y seleccionen manualmente las respuestas a cada posible pregunta que pueda hacer un usuario. Para integrar QnABot con Amazon conectar, consulte nuestra página, Conexión de QnABot en AWS a un centro de llamadas de Amazon Connect. Para integrarse con otros centros de contacto, vea cómo El SDK de Amazon Chime se puede utilizar para conectar bots de voz de Amazon Lex con 3rd centros de contacto de terceros a través de SIPREC y Cree un agente virtual impulsado por IA para Genesys Cloud utilizando QnABot y Amazon Lex.

El QnABot, basado en LLM, también puede desempeñar un papel fundamental como asistente automatizado de agentes en tiempo real. En esta solución, QnABot escucha pasivamente la conversación y utiliza el LLM para generar sugerencias en tiempo real para los agentes humanos basándose en ciertas señales. Es sencillo de configurar y probar: ¡pruébalo! Esta solución se puede utilizar tanto con Amazon Connect como con otros centros de contacto locales y en la nube. Para más información, ver Análisis de llamadas en vivo y asistencia de agentes para su centro de contacto con los servicios de IA en idiomas de Amazon.

Integrar con un sitio web

Integrar QnABot en sus sitios web y aplicaciones permite a los usuarios obtener asistencia automatizada con un diálogo natural. Para más información, ver Implemente una interfaz de usuario web para su Chatbot. Para contenido seleccionado de preguntas y respuestas, utilice la sintaxis de rebajas y los botones de la interfaz de usuario e incorpore enlaces, imágenes, vídeos y otros elementos dinámicos que informen y deleiten a sus usuarios. Integre la interfaz de usuario web de QnABot Amazon Lex con el chat en vivo de Amazon Connect para facilitar la derivación rápida a agentes humanos cuando el asistente automatizado no puede abordar completamente la consulta de un usuario por sí solo.

El QnABot en el repositorio de ejemplos de complementos de AWS

Como se muestra en esta publicación, QnABot v5.4.0+ no solo ofrece soporte integrado para incrustaciones y modelos LLM alojados en SageMaker, sino que también ofrece la capacidad de integrarse fácilmente con cualquier otro LLM mediante el uso de funciones Lambda. Puede crear sus propias funciones Lambda personalizadas o comenzar más rápido con uno de los ejemplos que le proporcionamos en nuestro nuevo muestras-del-complemento-qnabot-on-aws repositorio.

Este repositorio incluye un complemento listo para implementar para Amazon Bedrock, que admite incrustaciones y solicitudes de generación de texto. Al momento de escribir este artículo, Amazon Bedrock está disponible a través de una vista previa privada; puede solicitar acceso previo. Cuando Amazon Bedrock esté disponible de forma generalizada, esperamos integrarlo directamente con QnABot, pero ¿por qué esperar? Solicite acceso a la vista previa y utilice nuestro complemento de muestra para comenzar a experimentar.

El ciclo de innovación actual de LLM está impulsando un ritmo vertiginoso de lanzamientos de nuevos modelos, cada uno de los cuales apunta a superar al anterior. Este repositorio se ampliará para incluir ejemplos adicionales de complementos de QnABot con el tiempo. Al momento de escribir este artículo, admitimos dos proveedores de modelos externos: Anthropic y AI21. Planeamos agregar integraciones para más LLM, incorporaciones y ejemplos de casos de uso potencialmente comunes que involucren enlaces Lambda y bases de conocimiento. Estos complementos se ofrecen tal cual, sin garantía, para su comodidad; los usuarios son responsables de brindar soporte y mantenimiento una vez implementados.

Esperamos que el repositorio de complementos de QnABot madure y se convierta en un próspero proyecto comunitario de código abierto. Mira el Repositorio de GitHub de qnabot-on-aws-plugin-samples Para recibir actualizaciones sobre nuevos complementos y funciones, utilice el Temas foro para informar problemas o proporcionar comentarios y contribuir con mejoras a través de solicitudes de extracción. ¡Las contribuciones son bienvenidas!

Conclusión

En esta publicación, presentamos las nuevas funciones de IA generativa para QnABot y analizamos una solución para crear, implementar y personalizar QnABot para usar estas funciones. También discutimos algunos casos de uso relevantes. La automatización de consultas repetitivas libera trabajadores humanos y aumenta la productividad. Las respuestas ricas crean experiencias atractivas. La implementación de QnABot con tecnología LLM puede ayudarlo a mejorar la experiencia de autoservicio para clientes y empleados.

No pierda esta oportunidad: ¡comience hoy y revolucione la experiencia del usuario en su implementación de QnABot!


Sobre los autores

Clemente Teo es arquitecto senior de soluciones de socios en AWS, enfocado en el ecosistema de socios del sector público. Le gusta construir prototipos, mantenerse activo al aire libre y experimentar nuevas cocinas. A Clevester le apasiona experimentar con tecnologías emergentes y ayudar a los socios de AWS a innovar y brindar un mejor servicio a los clientes del sector público.

Windrich es un arquitecto de soluciones en AWS que trabaja con clientes en industrias como finanzas y transporte, para ayudarlos a acelerar su viaje de adopción de la nube. Está especialmente interesado en las tecnologías sin servidor y en cómo los clientes pueden aprovecharlas para aportar valor a sus negocios. Fuera del trabajo, Windrich disfruta jugar y ver deportes, además de explorar diferentes cocinas de todo el mundo.

Bob Strahan Bob Strahan es arquitecto principal de soluciones en el equipo de AWS Language AI Services.

punto_img

Información más reciente

punto_img