Agentes de IA en clics con Amazon Bedrock

Agentes de IA generativa para flujos de trabajo automatizados

Amazon Bedrock en SageMaker Unified Studio le permite crear e implementar agentes sofisticados de IA generativa. Estos agentes pueden integrarse sin problemas con las aplicaciones, bases de datos e incluso sistemas de terceros de su organización. Este nivel de integración permite interacciones en lenguaje natural en toda su pila tecnológica. El agente de chat actúa como un puente crucial, conectando sistemas de información complejos con una comunicación fácil de usar. Al aprovechar las funciones de Amazon Bedrock y las bases de conocimiento de Amazon Bedrock, el agente obtiene la capacidad de conectarse con diversas fuentes de datos. Estas fuentes pueden variar desde API de JIRA para el seguimiento del estado del proyecto en tiempo real hasta sistemas de gestión de relaciones con el cliente (CRM) para recuperar información del cliente. El agente también puede actualizar tareas del proyecto, administrar las preferencias del usuario y mucho más.

Esta funcionalidad integral proporciona beneficios significativos a varios equipos dentro de una organización. Los equipos de ventas y marketing pueden obtener acceso rápido a la información del cliente y a sus horarios de reunión preferidos. Los gerentes de proyecto pueden administrar eficientemente las tareas y los plazos de JIRA, optimizando los flujos de trabajo del proyecto. Este proceso optimizado, facilitado por el agente de IA, conduce a una mayor productividad y mejores interacciones con los clientes en toda la organización.

Descripción general de la solución

Amazon Bedrock proporciona un entorno gobernado y colaborativo, todo dentro de SageMaker Unified Studio, para construir y compartir aplicaciones de IA generativa. Profundicemos en una solución de ejemplo práctica que demuestra la implementación de un agente de gestión de clientes:

  • Chat Agentic: Se puede construir una aplicación de chat agentic sofisticada utilizando las funciones de aplicación de chat de Amazon Bedrock. Esta aplicación de chat se puede integrar sin problemas con funciones que se construyen fácilmente utilizando otros servicios de AWS, como AWS Lambda para computación sin servidor y Amazon API Gateway para crear y administrar API.
  • Gestión de datos: SageMaker Unified Studio, junto con Amazon DataZone, ofrece una solución integral de gestión de datos a través de sus servicios integrados. Los administradores de la organización tienen un control detallado sobre el acceso de los miembros a los modelos y funciones de Amazon Bedrock. Esto garantiza una gestión de identidad segura y un control de acceso granular, manteniendo la seguridad y el cumplimiento de los datos.

Antes de profundizar en la implementación del agente de IA, es beneficioso repasar los pasos clave de la arquitectura.

El flujo de trabajo se desarrolla de la siguiente manera:

  1. Autenticación e interacción del usuario: El usuario inicia el proceso iniciando sesión en SageMaker Unified Studio utilizando las credenciales SSO de su organización desde AWS IAM Identity Center. Una vez autenticado, el usuario interactúa con la aplicación de chat utilizando lenguaje natural, formulando preguntas o realizando solicitudes.
  2. Invocación de funciones: La aplicación de chat de Amazon Bedrock utiliza inteligentemente una función predefinida para recuperar información relevante. Esta función podría estar diseñada para obtener actualizaciones de estado de JIRA o información del cliente de la base de datos. La recuperación se realiza a través de un punto de conexión seguro utilizando API Gateway.
  3. Acceso seguro y activación de Lambda: La aplicación de chat se autentica con API Gateway para acceder de forma segura al punto de conexión designado. Esta autenticación se logra utilizando una clave de API generada aleatoriamente almacenada de forma segura en AWS Secrets Manager. Según la solicitud del usuario, se activa la función Lambda adecuada.
  4. Ejecución de acciones: La función Lambda, ahora activada, realiza las acciones específicas solicitadas por el usuario. Esto implica llamar a la API de JIRA o consultar la base de datos con los parámetros necesarios proporcionados por el agente. El agente está diseñado para manejar una variedad de tareas, incluyendo:
    1. Proporcionar una descripción general concisa de un cliente específico.
    2. Enumerar las interacciones recientes con un cliente en particular.
    3. Recuperar las preferencias de reunión para un cliente designado.
    4. Recuperar una lista de tickets JIRA abiertos asociados con un proyecto específico.
    5. Actualizar la fecha de vencimiento de un ticket JIRA en particular.

Requisitos previos

Para seguir esta implementación de la solución y construir su propio agente de gestión de clientes, necesitará los siguientes requisitos previos:

  • Cuenta de AWS: Una cuenta de AWS activa es esencial para acceder a los servicios necesarios.
  • Acceso a SageMaker Unified Studio: Se requiere acceso de usuario a Amazon Bedrock dentro de SageMaker Unified Studio.
  • Acceso al modelo: Necesitará acceso al modelo Amazon Nova Pro en Amazon Bedrock. Asegúrese de que este modelo esté disponible en una región de AWS compatible.
  • Configuración de JIRA: Una aplicación JIRA, su URL de JIRA correspondiente y un token de API de JIRA asociado con su cuenta son necesarios para la integración con JIRA.

Se supone que tiene una comprensión básica de los conceptos fundamentales sin servidor en AWS, incluyendo API Gateway, funciones Lambda e IAM Identity Center. Si bien esta publicación no proporcionará definiciones detalladas de estos servicios, demostraremos sus casos de uso en el contexto de las nuevas funciones de Amazon Bedrock disponibles dentro de SageMaker Unified Studio.

Implementación de la solución

Para implementar la solución del agente de gestión de clientes, siga estos pasos:

  1. Descargar código: Comience descargando el código necesario del repositorio de GitHub proporcionado.
  2. Recuperar credenciales de JIRA: Obtenga los valores de JIRA_API_KEY_ARN, JIRA_URL y JIRA_USER_NAME para la función Lambda. Estas credenciales se utilizarán para autenticarse con su instancia de JIRA.
  3. Iniciar pila de CloudFormation: Utilice la plantilla de AWS CloudFormation proporcionada. Consulte la documentación sobre ‘Crear una pila desde la consola de CloudFormation’ para obtener instrucciones detalladas sobre cómo iniciar la pila en su región de AWS preferida.
  4. URL de API Gateway: Una vez que la pila de CloudFormation se haya implementado correctamente, navegue hasta la pestaña Outputs. Localice y anote el valor ApiInvokeURL. Esta URL representa el punto de conexión para su API Gateway.
  5. Configuración de Secrets Manager: Acceda a la consola de Secrets Manager. Encuentre los secretos correspondientes a JIRA_API_KEY_ARN, JIRA_URL y JIRA_USER_NAME.
  6. Actualizar valores secretos: Elija la opción Retrieve secret para cada secreto. Copie las variables correspondientes obtenidas en el Paso 2 en la cadena de texto sin formato secreta. Esto almacenará de forma segura sus credenciales de JIRA.
  7. Iniciar sesión en SageMaker Unified Studio: Inicie sesión en SageMaker Unified Studio utilizando las credenciales SSO de su organización.

Creación de un nuevo proyecto

Con la infraestructura en su lugar, creemos un nuevo proyecto dentro de SageMaker Unified Studio:

  1. Creación de proyecto: En la página de inicio de SageMaker Unified Studio, inicie la creación de un nuevo proyecto.
  2. Nombre del proyecto: Asigne un nombre descriptivo a su proyecto (por ejemplo, crm-agent).
  3. Selección de perfil: Elija el Generative AI application development profile y continúe.
  4. Configuración predeterminada: Acepte la configuración predeterminada y continúe.
  5. Confirmación: Revise la configuración del proyecto y elija Create project para confirmar.

Construcción de la aplicación de agente de chat

Ahora, construyamos el núcleo de nuestra solución: la aplicación de agente de chat:

  1. Inicio del agente de chat: Dentro de la página de inicio del proyecto crm-agent, localice la sección New en el lado derecho. Elija Chat agent para comenzar a construir su aplicación.
    Esto presentará una lista de configuraciones para su aplicación de agente.

  2. Selección de modelo: En la sección de modelo, seleccione un modelo base (FM) deseado compatible con Amazon Bedrock. Para este crm-agent, elegiremos Amazon Nova Pro.

  3. Definición del prompt del sistema: En la sección de prompt del sistema, proporcione el siguiente prompt. Este prompt guiará el comportamiento y las respuestas del agente. Opcionalmente, puede incluir ejemplos de entrada de usuario y respuestas del modelo para refinar aún más su rendimiento.

    Eres un agente de gestión de relaciones con el cliente encargado de ayudar a un vendedor a planificar su trabajo con los clientes. Se te proporciona un punto de conexión de API. Este punto de conexión puede proporcionar información como la descripción general de la empresa, el historial de interacción de la empresa (horarios y notas de las reuniones), las preferencias de reunión de la empresa (tipo de reunión, día de la semana y hora del día). También puedes consultar las tareas de Jira y actualizar su cronograma. Después de recibir una respuesta, límpiala en un formato legible. Si la salida es una lista numerada, formatéala como tal con caracteres de nueva línea y números.

  4. Creación de función: En la sección Functions, elija Create a new function. Esta función definirá las acciones que el agente puede realizar.

  5. Nombre de la función: Asigne a su función un nombre descriptivo, como crm_agent_calling.

  6. Esquema de la función: Para el Function schema, utilice la definición de OpenAPI proporcionada en el repositorio de GitHub. Este esquema define los parámetros de entrada y salida para su función.

  7. Configuración de autenticación: Para Authentication method, elija API Keys (Max. 2 Keys) e ingrese los siguientes detalles:

    1. Para Key sent in, elija Header.
    2. Para Key name, ingrese x-api-key.
    3. Para Key value, ingrese la clave de API de Secrets Manager.
  8. Punto de conexión del servidor API: En la sección API servers, ingrese la URL del punto de conexión que obtuvo de las salidas de CloudFormation (el ApiInvokeURL).

  9. Finalización de la función: Elija Create para finalizar la creación de la función.

  10. Guardado de la aplicación: En la sección Functions de la aplicación de agente de chat, seleccione la función que acaba de crear y elija Save para completar la creación de la aplicación.

Ejemplos de interacciones

Exploremos algunos ejemplos prácticos de cómo se puede utilizar este agente de chat:

Caso de uso 1: Analista de CRM que recupera detalles del cliente

Un analista de CRM puede usar lenguaje natural para recuperar detalles del cliente almacenados en la base de datos. Aquí hay algunas preguntas de ejemplo que podrían hacer:

  • ‘Dame una breve descripción general del cliente C-jkl101112’.
  • ‘Enumera las últimas 2 interacciones recientes para el cliente C-def456’.
  • ‘¿Qué método de comunicación prefiere el cliente C-mno131415?’.
  • ‘Recomienda el tiempo óptimo y el canal de contacto para comunicarse con C-ghi789 según sus preferencias y nuestra última interacción’.

El agente, al recibir estas solicitudes, consultará inteligentemente la base de datos y proporcionará las respuestas correspondientes en un formato claro y conciso.

Caso de uso 2: Gerente de proyecto que gestiona tickets de JIRA

Un gerente de proyecto puede usar el agente para enumerar y actualizar tickets de JIRA. Aquí hay algunas interacciones de ejemplo:

  • ‘¿Cuáles son las tareas JIRA abiertas para el ID de proyecto CRM?’.
  • ‘Por favor, actualiza la tarea JIRA CRM-3 a 1 semana’.

El agente accederá al tablero de JIRA, obtendrá la información relevante del proyecto y proporcionará una lista de tareas JIRA abiertas. También actualizará el cronograma de una tarea específica según lo solicite el usuario.

Limpieza

Para evitar incurrir en costos innecesarios, realice los siguientes pasos de limpieza:

  1. Eliminar pila de CloudFormation: Elimine la pila de CloudFormation que implementó anteriormente.
  2. Eliminar componente de función: Elimine el componente de función que creó en Amazon Bedrock.
  3. Eliminar aplicación de agente de chat: Elimine la aplicación de agente de chat dentro de Amazon Bedrock.
  4. Eliminar dominios: Elimine los dominios en SageMaker Unified Studio.

Costo

El uso de Amazon Bedrock dentro de SageMaker Unified Studio no genera ningún cargo por separado. Sin embargo, se le facturará por los servicios y recursos individuales de AWS utilizados dentro del servicio. Amazon Bedrock opera con un modelo de pago por uso, lo que significa que solo paga por los recursos que consume, sin tarifas mínimas ni compromisos iniciales.

Si necesita más ayuda con los cálculos de precios o tiene preguntas sobre la optimización de costos para su caso de uso específico, se recomienda comunicarse con el soporte de AWS o consultar con su administrador de cuenta. Ellos pueden proporcionar orientación personalizada según sus necesidades.