Muchas organizaciones se basan en múltiples aplicaciones y servicios de terceros para diferentes aspectos de sus operaciones, como la programación, la gestión de recursos humanos, los datos financieros, los sistemas de gestión de relaciones con el cliente (CRM) y más. Sin embargo, estos sistemas a menudo existen en silos, lo que requiere que los usuarios navegen manualmente en diferentes interfaces, cambien entre entornos y realicen tareas repetitivas, que pueden ser lentas e ineficientes.

Además, si bien muchos sistemas empresariales están equipados con API para la integración, los usuarios a menudo carecen de experiencia técnica para interactuar directamente con estas API. Como resultado, las organizaciones necesitan una forma intuitiva y perfecta de consultar los datos y realizar acciones en estas aplicaciones utilizando un lenguaje natural, sin requerir un conocimiento especializado de cada sistema o sus API.

Para abordar el desafío de integrar múltiples aplicaciones de terceros en una interfaz unificada de lenguaje natural, los usuarios pueden usar complementos para Amazon Q Business. Los complementos proporcionan una forma de cerrar la brecha entre las aplicaciones empresariales complejas y aisladas en una interfaz fácil de usar que facilitan los usuarios para que tomen medidas en todos los sistemas con fácil. Amazon Q Business admite múltiples sistemas empresariales con complementos preconstruidosasí como complementos personalizadosque los usuarios pueden usar para integrar una variedad de sistemas empresariales con Amazon Q Business Applications.

Descripción general de la solución

En esta publicación, demostramos cómo puede usar complementos personalizados para Amazon Q Business para construir un chatbot que pueda interactuar con múltiples API utilizando indicaciones de lenguaje natural. Mostramos cómo construir un chatbot AIOPS que permita a los usuarios interactuar con su infraestructura de AWS a través de consultas y comandos de lenguaje natural. El chatbot es capaz de manejar tareas como consultar los datos sobre Amazon Elastic Compute Cloud (Amazon EC2) puertos y Amazon Simple Storage Service (Amazon S3) Configuración de acceso de cubos. Por ejemplo, los usuarios pueden hacer preguntas de chatbot como «¿Qué instancias EC2 tienen el puerto 3389 abierto?» o solicitar acciones como «Cierre el acceso público para los cubos S3».

Al integrar otros servicios de AWS con Amazon Q utilizando esquemas de OpenApi, el chatbot no solo puede recuperar información en tiempo real (como verificar qué cubos S3 tienen acceso público), sino también tomar acciones correctivas (como cerrar puertos abiertos o acceso público) en respuesta a los comandos del usuario. Esta solución reduce la intervención manual y simplifica las operaciones de nubes complejas al permitir que los equipos de TI manejaran la infraestructura a través de interacciones del lenguaje natural. El chatbot optimizará las tareas operativas, reducirá la necesidad de cambiar entre diferentes herramientas y mejorar la eficiencia de los equipos de TI y operaciones al permitirles interactuar con sistemas complejos que usan un lenguaje simple e intuitivo.

Arquitectura

Para implementar la solución, construirá la siguiente arquitectura.

Los usuarios inician sesión en el chatbot AIOPS utilizando las credenciales configuradas en Centro de identidad de AWS IAM. Utilizará encontrar y eliminar el acceso público desde S3 cubos junto con encontrar y cerrar puertos abiertos específicos en Amazon EC2 instancias como casos de uso para demostrar la capacidad de este chatbot Aiops usando Plugins personalizados de Amazon Q Business. Sin embargo, puede extender la arquitectura para admitir otros casos de uso de operaciones a través de la integración basada en API.

Implementa la infraestructura requerida utilizando el Modelo de aplicación sin servidor de AWS (AWS SAM).

El siguiente es un resumen de la funcionalidad de la arquitectura:

Requisitos previos

Implementar y ejecutar la solución

Los recursos en esta manifestación serán aprovisionados en la región de AWS de EE. UU. (N. Virginia) (US-East-1). Camina por las siguientes fases para implementar el flujo de trabajo de personalización del modelo:

  1. Implemente la solución utilizando la plantilla AWS SAM
  2. Configurar un usuario para la aplicación AIOPS Q Business Chatbot
  3. Pruebe la aplicación AIOPS Q Business Chatbot
  4. Limpiar

Paso 1: implementa la solución usando la plantilla AWS SAM

Vea el repositorio de GitHub para obtener las últimas instrucciones. Ejecute los siguientes pasos para implementar el Funciones del paso de AWS flujo de trabajo usando la plantilla AWS SAM.

  1. Cree un nuevo directorio, navegue a ese directorio en un terminal y clone el repositorio de GitHub:
git clone https://github.com/aws-samples/ai-ops-with-amazon-q-business.git

2. Cambie el directorio al directorio de soluciones:

cd ai-ops-with-amazon-q-business

3. Ejecute el siguiente comando para implementar los recursos usando SAM.

4. Cuando se le solicite, ingrese los siguientes valores del parámetro:

Stack Name [sam-app]: aiops
AWS Region [us-east-1]: us-east-1
Confirm changes before deploy [y/N]: N

Allow SAM CLI IAM role creation [Y/n]: Y

Disable rollback [y/N]: N

FindS3BucketsWithPublicAccessFunction has no authentication. Is this okay? [y/N]: y

RemovePublicAcessFromS3BucketFunction has no authentication. Is this okay? [y/N]: y

FindEC2WithSpecificOpenPortFunction has no authentication. Is this okay? [y/N]: y

CloseUnwantedPortForEC2Function has no authentication. Is this okay? [y/N]: y

Save arguments to configuration file [Y/n]: Y

SAM configuration file [samconfig.toml]: hit enter

SAM configuration environment [default]: hit enter  

5. Tenga en cuenta las salidas del proceso de implementación de AWS SAM. Esto contiene la URL de experiencia web de Amazon Q Business (ChatBot). Antes de que pueda iniciar sesión en la aplicación ChatBot, debe configurar un usuario.

Paso 2: Configure un usuario para la aplicación AIOPS Amazon Q Business Chatbot

Use los siguientes pasos para configurar un usuario para la aplicación AIOPS ChatBot.

  1. Abierto Amazon Q Business de la consola y seleccione el AIOPS solicitud.

Consola de Amazon para AI Ops

2. Elija Administrar acceso y suscripción.

Elija Administrar y acceder a la suscripción

3. Elija Agregar grupos y usuarios.

Agregar grupos y usuarios

4. Seleccione Agregar y asignar nuevos usuarios o Asignar usuarios y grupos existentes Dependiendo de si pre-creó al usuario como se menciona en los requisitos previos y elija Próximo.

5. Si tiene un usuario existente que desea proporcionar acceso a su AIOPS aplicación, busque y seleccione el nombre de usuario y elija Asignar.

Elija Asignar

6. En la página de revisión, seleccione el suscripción actual y elegir Confirmar.

Revisión

Paso 3: Pruebe la aplicación AIOPS Q Business Chatbot

Use los siguientes pasos para iniciar sesión en el chatbot y probarlo. Las respuestas de los modelos de lenguaje grande no son deterministas. Por lo tanto, es posible que no obtenga exactamente la misma respuesta cada vez.

  1. Tomar el QBusinessWebExperienceURL desde sam deploy Salida utilizando la credencial de usuario configurada en el paso anterior.
  2. Después de iniciar sesión en el Aiops chatbotseleccione la opción de menú de Kebab (tres puntos) en la esquina inferior derecha y seleccione la Aiopscustomplugin como sigue:

Aiops chatbot

3. Habilite el acceso público en un cubo de Amazon S3. Esto se hace solo para fines de prueba, así que verifique las políticas de su organización antes de realizar esta prueba. Para esta demostración usamos un cubo llamado aiops-chatbot-demo.

4. Regrese al chatbot aiops e ingrese una pregunta como: Do I have any S3 bucket with public access? y elegir Entregar. Proporcione el prefijo de cubo para reducir la búsqueda.

Aiops Chatbot - prueba de cubos S3

5. El chatbot AIOPS identifica los cubos que tienen acceso público:

Respuesta de AIOPS - cubos S3

6. Haga una pregunta de seguimiento como: Please block the public access. El chat Bot bloquea el acceso público. Valide el cambio de la consola S3.

Chatbot - bloque de acceso público

7. Abra un puerto, como 1234para una instancia de Amazon EC2 usando Reglas entrantes del grupo de seguridad.

Prueba de puerto

8. Regrese al bot de chat e ingrese una pregunta como: Do I have any EC2 instance with port 1234 open?

9. Después de que el bot de chat identifica la instancia de EC2 con el puerto abierto, confirme que desea cerrar el puerto.

10. El bot de chat cierra el puerto abierto y confirma.

Prueba de cierre de puertos

Limpiar

El desmantelamiento de AWS aprovisionados adecuadamente es una mejor práctica importante para optimizar los costos y mejorar la postura de seguridad después de concluir pruebas de concepto y manifestaciones. Para eliminar los recursos implementados en su cuenta de AWS a través de AWS SAM, ejecute el siguiente comando:

Definición de esquema de Openapi

Después de implementar el complemento personalizado, Amazon Q Business procesará el aviso de un usuario y usará el Esquema de Openapi para determinar dinámicamente las API apropiadas para llamar para lograr el objetivo del usuario. Por lo tanto, la definición del esquema de OpenAPI tiene un gran impacto en la precisión de la selección de API. Seguir el Mejores prácticas Para la definición de esquema de OpenAPI para resultados ideales. Este chatbot AIOPS demostró cuatro operaciones compatibles con las siguientes operaciones de API:

  • find-s3-bucket-with-public-access – Esta API encuentra cubos S3 que tienen el prefijo especificado y están configurados para el acceso público.
  • remove-public-access-from-s3-bucket – Esta API elimina el acceso público de un cubo S3 específico.
  • find-ec2-with-specific-open-port – Esta API encuentra instancias EC2 que tienen un puerto especificado abierto para el acceso entrante.
  • close-unwanted-port-for-ec2 – Esta API elimina un puerto especificado de una instancia de EC2 dada.

Las operaciones de API se implementan utilizando las funciones API Gateway y Lambda.

Solución de problemas

Los siguientes son algunos pasos de solución de problemas si encuentra errores mientras usa el chatbot AIOPS.

  • Como Amazon Q Business determina dinámicamente las operaciones API apropiadas que se invocarán, las preguntas (indicaciones) deben ser inequívocas. Ser específico en lugar de hacer preguntas genéricas. Por ejemplo: Do I have any EC2 instance with port 1234 open? en lugar de Do I have any EC2 exposed to internet?
  • Las API están expuestas utilizando API Gateway respaldada por funciones Lambda. Compruebe que puede invocar las operaciones API utilizando herramientas de prueba CURL o API.
  • Verifique los registros de la función Lambda en Amazon CloudWatch para obtener errores. Sigue a la lambda depuración pasos si es necesario.

Conclusión

En esta publicación, aprendió un proceso de extremo a extremo para crear un chatbot AIOPS usando Plugins personalizados de Amazon Q Businessdemostrando cómo los usuarios pueden usar el procesamiento del lenguaje natural para interactuar con los recursos de AWS y agilizar las operaciones en la nube. Integrando otros servicios de AWS con Amazon Q Businessel chatbot puede consultar la infraestructura para el estado de seguridad y cumplimiento mientras automatiza acciones clave, como cerrar puertos abiertos o restringir el acceso público a los cubos S3. Esta solución mejora la eficiencia operativa, reduce la intervención manual y permitió a los equipos administrar entornos complejos de manera más efectiva a través de interfaces intuitivas y conversacionales. Con complementos personalizados y esquemas de Openapilos usuarios pueden construir una solución de chatbot poderosa y flexible adaptada a sus necesidades operativas específicas, transformando la forma en que administran las operaciones de TI y responden a los desafíos comerciales.

Estudiar más

Para obtener más información sobre Amazon Q Business y complementos personalizados:


Sobre los autores

Upendra V es un arquitecto de soluciones Sr. en Amazon Web Services, especializada en IA generativa y soluciones en la nube. Ayuda a los clientes empresariales a diseñar e implementar cargas de trabajo generativas de IA generativas listas para la producción, implementar modelos de idiomas grandes (LLM) y sistemas de IA agente, y optimizar las implementaciones de la nube. Con experiencia en adopción en la nube y aprendizaje automático, permite a las organizaciones construir y escalar aplicaciones impulsadas por IA de manera eficiente.

Biswa Biswanath Mukherjee es un arquitecto de soluciones senior en Amazon Web Services. Trabaja con grandes clientes estratégicos de AWS al proporcionarles orientación técnica para migrar y modernizar sus aplicaciones en AWS Cloud. Con su amplia experiencia en arquitectura y migración en la nube, se asocia con clientes para desarrollar soluciones innovadoras que aprovechen la escalabilidad, la confiabilidad y la agilidad de AWS para satisfacer sus necesidades comerciales. Su experiencia abarca diversas industrias y casos de uso, lo que permite a los clientes desbloquear todo el potencial de la nube de AWS.

Por automata