Principal Financial Group acelera la creación, prueba e implementación de bots Amazon Lex V2 mediante la automatización

Esta publicación invitada fue escrita por Mulay Ahmed y Caroline Lima-Lane de Principal Financial Group. El contenido y las opiniones de esta publicación son de autores externos y AWS no es responsable del contenido o la precisión de esta publicación.

Con centros de contacto en EE. UU. que manejan millones de llamadas de clientes anualmente, Principal Financial Group® quería modernizar la experiencia de llamadas de sus clientes. En la publicación Principal Financial Group aumenta el rendimiento de Voice Virtual Assistant usando Genesys, Amazon Lex y Amazon QuickSight, analizamos la solución general de Principal Virtual Assistant usando Genesys Cloud, Amazon Lex V2, múltiples servicios de AWS y una solución personalizada de informes y análisis usando Amazon QuickSight.

Esta publicación se centra en la aceleración de los procesos de entrega de la plataforma Virtual Assistant (VA) a través de la creación, prueba e implementación automatizadas de un bot Amazon Lex V2 (incluidos otros recursos de análisis y bases de datos que se describen más adelante en esta publicación) utilizando una canalización de integración y entrega continua (CI/CD) de GitHub con ejecución automatizada de Amazon Lex V2 Test Workbench para garantizar la calidad. Esta solución ayuda a Principal® a escalar y mantener implementaciones de VA con confianza y velocidad utilizando infraestructura como código (IaC), configuración como código (CaC) y un enfoque CI/CD automatizado en lugar de probar e implementar el bot Amazon Lex V2 en la consola de administración de AWS.

Principal es una empresa financiera global con casi 20.000 empleados apasionados por mejorar la riqueza y el bienestar de las personas y las empresas. Principal, que lleva 145 años en el negocio, ayuda a aproximadamente 70 millones de clientes (a partir del cuarto trimestre de 2024) a planificar, proteger, invertir y jubilarse, mientras trabaja para apoyar a las comunidades en las que opera. El equipo de ingeniería de asistente virtual empresarial de Principal, en colaboración con AWS, utilizó Amazon Lex V2 para implementar un asistente virtual de voz para proporcionar capacidades de autoservicio y enrutamiento para los clientes del centro de contacto. Se reconocieron y priorizaron las siguientes oportunidades de ingeniería:

Eliminación de la configuración, prueba e implementación basadas en consola de un bot Amazon Lex V2 Colaboración a través de control de versiones estructurado y flujos de trabajo de desarrollo paralelos para varios miembros del equipo Aceleración de los ciclos de desarrollo con procesos automatizados de compilación, prueba e implementación para la creación y optimización del bot Amazon Lex Controles de garantía de calidad mejorados a través de puertas de prueba automatizadas y validación de estándares de codificación para lanzamientos confiables

Con las soluciones de automatización descritas en la publicación, a partir de septiembre de 2024, Principal ha acelerado los esfuerzos de desarrollo en un 50 % en todos los entornos (desarrollo, piloto y producción) a través de procesos simplificados de implementación e implementación. Esta solución también mejora la confiabilidad de la implementación a través de flujos de trabajo automatizados, brinda actualizaciones consistentes y minimiza los errores en los entornos de desarrollo, piloto y producción, y maximiza la eficiencia del desarrollo al integrar Test Workbench con GitHub, lo que permite el control de versiones y las pruebas automatizadas. Con la automatización de Test Workbench y su integración con GitHub, la solución fortalece el proceso de CI/CD al mantener la alineación entre los archivos de prueba y las versiones de bot, creando un entorno más ágil y proceso de desarrollo confiable.

Descripción general de la solución

La solución utiliza los servicios descritos en Principal Financial Group y aumenta el rendimiento del asistente virtual de voz utilizando Genesys, Amazon Lex y Amazon QuickSight. Los siguientes servicios/API también se utilizan como parte de esta solución:

AWS Step Functions para orquestar el flujo de trabajo de implementación Las API de Test Workbench, que se invocan dentro de la máquina de estado de Step Functions como una secuencia de tareas AWS Lambda para procesar datos para admitir algunas de las entradas de las API de Test Workbench

Organización y gestión del código VA.

La implementación de Principal VA utiliza Genesys Cloud como aplicación del centro de contacto y los siguientes servicios de AWS organizados en diferentes pilas:

Pila de bots: el CDK de Amazon Lex V2 se utiliza para definir e implementar la infraestructura de bots. Las funciones Lambda manejan la lógica del bot y administran la lógica de enrutamiento (para Amazon Lex y Genesys Cloud). AWS Secrets Manager almacena secretos para llamar a los puntos finales de los sistemas posteriores. Pila de pruebas: Step Functions organiza el flujo de trabajo de pruebas. Las funciones Lambda se utilizan en el proceso de pruebas. Los archivos de prueba contienen casos de prueba. y escenarios en formato Test Workbench Los datos simulados se utilizan para simular varios escenarios para pruebas sin conectarse a sistemas posteriores o API Pila de datos: Pila de análisis: Amazon S3 almacena registros y datos procesados Amazon Data Firehose transmite registros a Amazon S3 Lambda organiza operaciones de extracción, transformación y carga (ETL) AWS Glue administra el catálogo de datos y los trabajos de ETL Amazon Athena se utiliza para realizar consultas y análisis de datos analíticos en Amazon S3 Amazon QuickSight se utiliza para visualización de datos e inteligencia empresarial Canalización de CI/CD: GitHub sirve como repositorio de código fuente Un flujo de trabajo de GitHub automatiza la canalización de CI/CD

Configuración de Amazon Lex V2 como código y flujo de trabajo CI/CD

El siguiente diagrama ilustra cómo varios desarrolladores pueden trabajar en cambios en la pila de bots y realizar pruebas en paralelo mediante la implementación de cambios localmente o utilizando un flujo de trabajo de GitHub.

El proceso consta de los siguientes pasos:

Un desarrollador clona el repositorio y crea una nueva rama para realizar cambios. El desarrollador A o B realiza cambios en la configuración del bot o en las funciones Lambda mediante código. El desarrollador crea una solicitud de extracción. El desarrollador implementa la pila CDK de Amazon Lex V2 mediante uno de los siguientes métodos: Cree una solicitud de extracción y asegúrese de que se aprueben todas las comprobaciones de estándares y calidad del código. Fusionarlo con la rama principal. Implemente la pila CDK de Amazon Lex V2 desde su entorno local. El desarrollador ejecuta Test Workbench como parte de la canalización de CI/CD o desde su entorno local utilizando los scripts de automatización. Los resultados de las pruebas se muestran en GitHub Actions y en la terminal (si se ejecutan localmente). La canalización tiene éxito solo si se superan las comprobaciones definidas, como linting, pruebas unitarias, pruebas e integración de infraestructura y pruebas funcionales de Test Workbench. Una vez superadas todas las pruebas y comprobaciones, se puede redactar una nueva versión preliminar para implementarla en el entorno de prueba. Después de que la implementación y las pruebas (automatizadas y UAT) sean exitosas, se puede crear una nueva versión para la implementación de producción (después de la revisión y aprobación manual).

Automatización del banco de trabajo de pruebas de Amazon Lex

La solución utiliza servicios de GitHub y AWS, como máquinas de estado de Step Functions y funciones Lambda, para organizar todo el proceso de prueba de Amazon Lex V2 Bot (en lugar de utilizar el proceso de prueba manual existente para Amazon Lex). La canalización activa la carga de conjuntos de pruebas, funciones Lambda para interactuar con el bot Amazon Lex V2 y Test Workbench, luego otra función Lambda para leer los resultados de las pruebas y proporcionar resultados en la canalización.

Para mantener evaluaciones consistentes y repetibles de sus bots de Amazon Lex V2, es esencial administrar y organizar sus conjuntos de datos de prueba de manera efectiva. Las siguientes prácticas clave ayudan a mantener actualizados los conjuntos de pruebas:

Los archivos de conjuntos de pruebas tienen control de versiones y están vinculados a cada bot y su versión. Se crean conjuntos de pruebas dorados separados para cada intención y se actualizan periódicamente para incluir las declaraciones de los clientes de producción, lo que aumenta las tasas de reconocimiento de intenciones. Los datos de prueba versionados se implementan como parte de cada implementación de bot en entornos que no son de producción.

El siguiente diagrama ilustra el proceso automatizado de un extremo a otro para probar los bots de Amazon Lex V2 después de cada implementación.

Solución de automatización Test Workbench

El flujo de trabajo posterior a la implementación consta de los siguientes pasos:

El desarrollador verifica el archivo de prueba en el repositorio de GitHub (o lo implementa directamente desde el local). Después de cada implementación de bot, GitHub activa el script de prueba utilizando el flujo de trabajo de GitHub. Los scripts de prueba cargan los archivos de prueba en un depósito de S3. El script de prueba invoca una máquina de estado de Step Functions, utilizando un nombre de bot y una lista de claves de archivo como entradas. Las llamadas a la API del modelo Amazon Lex se invocan para obtener el ID del bot (ListBots) y el alias (ListBotAliases). Cada clave de archivo de prueba se itera dentro de un estado de mapa, donde se ejecutan las siguientes tareas: Llamar a las API de Amazon Lex para iniciar trabajos de importación: StartImport: crea un ID de conjunto de prueba y lo almacena en una ubicación especificada del depósito S3. DescribeImport: comprueba si el estado de StartImport está completo. Ejecute el conjunto de pruebas: StartTestExecution: crea un ID de ejecución de prueba y ejecuta la prueba. ListTestExecutions: reúne todas las ejecuciones de pruebas. Una función Lambda filtra la identificación de ejecución de la prueba actual y su estado. Obtenga los resultados de las pruebas. Cuando se completa la prueba: se invoca la API ListTestExecutionResultItems para recopilar los resultados generales de la prueba. Se invoca la API ListTestExecutionResultItems para obtener detalles del error de prueba en el nivel de expresión, si está presente. Una función Lambda organiza la limpieza y los informes finales: DeleteTestSet limpia los conjuntos de pruebas que ya no son necesarios de un depósito de S3. La canalización genera los resultados y, si hay fallas en las pruebas, se enumeran en la acción de GitHub o en el informe de trabajo del terminal local. Los desarrolladores llevan a cabo el proceso manual de revisión de los archivos de resultados de las pruebas desde la consola Test Workbench.

Conclusión

En esta publicación, presentamos cómo Principal aceleró el desarrollo, las pruebas y la implementación de los bots de Amazon Lex V2 y el soporte de los servicios de AWS mediante código. Además de la solución de informes y análisis, esto proporciona una solución sólida para la mejora y el mantenimiento continuos del ecosistema del Asistente Virtual.

Al automatizar los procesos de Test Workbench e integrarlos con el control de versiones y los procesos de CI/CD, Principal pudo disminuir el tiempo de prueba e implementación, aumentar la cobertura de las pruebas, optimizar sus flujos de trabajo de desarrollo y brindar una experiencia conversacional de calidad a los clientes. Para profundizar en otros servicios relevantes, consulte Evaluación del rendimiento del bot Lex V2 con Test Workbench.

AWS y Amazon no son afiliados de ninguna empresa de Principal Financial Group.
Esta comunicación tiene como objetivo ser de naturaleza educativa y no debe tomarse como una recomendación.
Productos de seguros emitidos por Principal National Life Insurance Co (excepto en Nueva York) y Principal Life Insurance Company. Planificar los servicios administrativos ofrecidos por Principal Life. Principal Funds, Inc. es distribuido por Principal Funds Distributor, Inc. Los valores se ofrecen a través de Principal Securities, Inc., miembro de SIPC y/o corredores/comerciantes independientes. Las empresas referenciadas son miembros de Principal Financial Group, Des Moines, IA 50392. ©2025 Principal Financial Services, Inc. 4373397-042025

Sobre los autores

Mulay Ahmed es arquitecto de soluciones en Principal con experiencia en la arquitectura de soluciones complejas de nivel empresarial, incluidas implementaciones en la nube de AWS.

Caroline Lima-Lane es ingeniera de software en Principal con una amplia experiencia en el espacio de la nube de AWS.