La integración de las capacidades generativas de IA está impulsando cambios transformadores en muchas industrias. Aunque se puede acceder a la información meteorológica a través de múltiples canales, las empresas que dependen en gran medida de los datos meteorológicos requieren soluciones robustas y escalables para administrar y utilizar de manera efectiva estas ideas críticas y reducir los procesos manuales. Esta solución demuestra cómo crear un meteorólogo virtual con IA que pueda responder consultas complejas relacionadas con el clima en el lenguaje natural. Utilizamos varios servicios de AWS para implementar una solución completa que puede usar para interactuar con una API que proporciona información meteorológica en tiempo real. En esta solución, utilizamos agentes de roca madre de amazon.
Los agentes de lecho de roca de amazon ayudan a racionalizar los flujos de trabajo y automatizar tareas repetitivas. Los agentes de amazon Bedrock pueden conectarse de forma segura a las fuentes de datos de su empresa y aumentar la solicitud del usuario con respuestas precisas. Puede usar agentes de roca madre de amazon para arquitectando un esquema de acción adaptado a sus requisitos, otorgándole control cada vez que el agente inicia la acción especificada. Este enfoque versátil lo equipa para integrar y ejecutar la lógica comercial sin problemas dentro de su servicio de backend preferido, fomentando una combinación cohesiva de funcionalidad y flexibilidad. También hay retención de memoria en toda la interacción que permite una experiencia de usuario más personalizada.
En esta publicación, presentamos un enfoque simplificado para implementar un agente con IA mediante la combinación de agentes de roca madre de amazon y un modelo de base (FM). Le guiamos a través del proceso de configuración del agente e implementando la lógica específica requerida para que el meteorólogo virtual proporcione respuestas precisas relacionadas con el clima. Además, utilizamos varios servicios de AWS, incluidos AWS Amplify para alojar el front -end, las funciones de AWS Lambda para manejar la lógica de solicitudes, amazon Cognito para la autenticación de los usuarios y la gestión de identidad y acceso de AWS (IAM) para controlar el acceso al agente.
Descripción general de la solución
El diagrama ofrece una visión general y destaca los componentes clave. La arquitectura utiliza amazon Cognito para la autenticación del usuario y amplifica como el entorno de alojamiento para nuestra aplicación front-end. Los agentes de amazon Bedrock envían los detalles de la consulta del usuario a los grupos de acción, lo que invoca aún más las funciones de Lambda personalizadas. Cada grupo de acción y función Lambda manejan una tarea específica:
- geoordenados -procesa coordenadas geográficas (coordenadas geográficas) para obtener detalles sobre una ubicación específica
- clima – Reúne información meteorológica para la ubicación proporcionada
- Fecha de hora- Obtiene la fecha y hora actuales
Requisitos previos
Debe tener lo siguiente en su lugar para completar la solución en esta publicación:
Implementar recursos de solución utilizando AWS CloudFormation
Cuando ejecuta la plantilla AWS CloudFormation, se implementan los siguientes recursos (tenga en cuenta que se incurrirán en los costos para los recursos de AWS utilizados):
- Recursos de aprendizaje de amazon:
- Recursos Lambda:
- Función –
-geo-coordinates-
- Función –
-weather-
- Función –
-date-time-
- Función –
- Agentes de roca madre de amazon: virtual-meteorólogo
- Grupos de acción (1) –
obtain-latitude-longitude-from-place-name
- Grupos de acción (2) –
obtain-weather-information-with-coordinates
- Grupos de acción (3) –
get-current-date-time-from-timezone
- Grupos de acción (1) –
Después de implementar la plantilla de CloudFormation, copie lo siguiente desde el Salidas pestaña en la consola CloudFormation que se utilizará durante la configuración de su aplicación después de implementar su amplificación en AWS.
AWSRegion
BedrockAgentAliasId
BedrockAgentId
BedrockAgentName
IdentityPoolId
UserPoolClientId
UserPoolId
Implementar la aplicación AWS Amplify
Debe implementar manualmente la aplicación Amplify utilizando el código frontal que se encuentra en GitHub. Complete los siguientes pasos:
- Descargue el código front-end aws-amplify-frontend.zip desde <a target="_blank" href="https://github.com/aws-samples/virtual-meteorologist-using-amazon-bedrock-agents” target=”_blank” rel=”noopener”>Girub.
- Use el archivo .zip para implementar manualmente la aplicación en Amplify.
- Regrese a la página Amplify y use el dominio que generó automáticamente para acceder a la aplicación.
Utilice amazon Cognito para la autenticación del usuario
amazon Cognito es un servicio de identidad que puede usar para autenticar y autorizar a los usuarios. Utilizamos amazon Cognito en nuestra solución para verificar al usuario antes de que pueda usar la aplicación. También utilizamos Identity Pool para proporcionar credenciales temporales de AWS para el usuario mientras interactúan con la API de rock de amazon.
Utilice los agentes de amazon Bedrock para automatizar las tareas de aplicación
Con los agentes de amazon Bedrock, puede construir y configurar agentes autónomos en su aplicación. Un agente ayuda a sus usuarios finales a completar acciones basadas en los datos de la organización y la entrada del usuario. Los agentes orquestan interacciones entre FMS, fuentes de datos, aplicaciones de software y conversaciones de usuarios.
Use el grupo de acción para definir las acciones que realizan los agentes de roca madre de amazon
Un grupo de acción define un conjunto de acciones relacionadas que un agente de roca madre de amazon puede realizar para ayudar a los usuarios. Al configurar un grupo de acción, tiene opciones para manejar la información proporcionada por el usuario, incluida la adición de la entrada del usuario al grupo de acción del agente, transmitir datos a una función Lambda para la lógica comercial personalizada o devolver el control directamente a través de la respuesta invokeagente. En nuestra aplicación, creamos tres grupos de acción para dar al agente de roca madre de amazon estas funcionalidades esenciales: recuperar coordenadas para ubicaciones específicas, obtener información actual de fecha y hora y obtener datos meteorológicos para ubicaciones dadas. Estos grupos de acción permiten al agente acceder y procesar información crucial, mejorando su capacidad para responder de manera precisa e integral a las consultas de los usuarios relacionadas con los servicios y las condiciones climáticas basadas en la ubicación.
Use Lambda para amazon Bedrock Action Group
Como parte de esta solución, se implementan tres funciones Lambda para admitir los grupos de acción definidos para nuestro agente de roca madre de amazon:
- La ubicación coordina la función lambda – Esta función es activada por el
obtain-latitude-longitude-from-place-name
Grupo de acción. Se necesita un nombre de lugar como entrada y devuelve las coordenadas de latitud y longitud correspondientes. La función utiliza un servicio de geocodificación o una base de datos para realizar esta búsqueda. - Función Lambda de fecha y hora – Invocado por el
get-current-date-time-from-timezone
Grupo de acción, esta función proporciona la información actual de fecha y hora. - Función Lambda de información meteorológica – Esta función es llamada por el
obtain-weather-information-with-coordinates
Grupo de acción. Acepta coordenadas geográficas de la primera función lambda y devuelve las condiciones climáticas actuales y los pronósticos para el área especificada. Esta función Lambda utilizó una API meteorológica para obtener datos meteorológicos actualizados.
Cada una de estas funciones de Lambda recibe un evento de entrada que contiene metadatos relevantes y campos poblados de los parámetros de operación o función API del agente de rock de amazon. Las funciones procesan esta entrada, realizan sus tareas específicas y devuelven una respuesta con la información requerida. El Agente de Bedrock de amazon utiliza esta respuesta para formular su respuesta a la consulta del usuario. Al usar estas funciones Lambda, nuestro agente de roca madre de amazon gana la capacidad de acceder a fuentes de datos externas y realizar cálculos complejos, mejorando significativamente sus capacidades en el manejo de las solicitudes de los usuarios relacionados con la ubicación, el tiempo y la información meteorológica.
Use AWS Amplify para el código front-end
Amplify ofrece un entorno de desarrollo para construir aplicaciones móviles y web seguras y escalables. Los desarrolladores pueden centrarse en su código en lugar de preocuparse por la infraestructura subyacente. Amplify también se integra con muchos proveedores de GIT. Para esta solución, cargamos manualmente nuestro código frontal utilizando el método descrito anteriormente en esta publicación.
Tutorial de la aplicación
Navegue a la URL proporcionada después de crear la aplicación en Amplify. Al acceder a la URL de la aplicación, se le solicitará que proporcione información relacionada con amazon Cognito y los agentes de roca madre de amazon. Esta información es necesaria para autenticar de forma segura a los usuarios y permitir que la parte delantera interactúe con el agente de rock de amazon. Permite que la aplicación administre las sesiones de usuario y realice llamadas API autorizadas a los servicios de AWS en nombre del usuario.
Puede ingresar información con los valores que recopiló de las salidas de la pila CloudFormation. Deberá ingresar los siguientes campos, como se muestra en la siguiente captura de pantalla:
- ID de grupo de usuarios
- Cliente de usuarios Clientid
- ID de grupo de identidad
- Región
- Nombre del agente
- ID de agente
- ID de alias de agente
- Región
Debe iniciar sesión con su nombre de usuario y contraseña. Se generó automáticamente una contraseña temporal durante la implementación y se envió a la dirección de correo electrónico que proporcionó al iniciar la plantilla de CloudFormation. En el primer intento de inicio de sesión, se le pedirá que restablezca su contraseña, como se muestra en el siguiente video.
Ahora puede comenzar a hacer preguntas en la aplicación, por ejemplo, “¿Podemos hacer barbacoa hoy en Dallas, TX?” En unos segundos, la aplicación le proporcionará resultados detallados que mencionan si puede hacer barbacoa en Dallas, TX. El siguiente video muestra este chat.
Ejemplo de casos de uso
Aquí hay algunas consultas de muestra para demostrar las capacidades de su meteorólogo virtual:
- “¿Cómo es el clima hoy en la ciudad de Nueva York?”
- “¿Debería planificar una fiesta de cumpleaños al aire libre en Miami el próximo fin de semana?”
- “¿Nevará en Denver el día de Navidad?”
- “¿Puedo ir a nadar en una playa en Chicago hoy?
Estas consultas muestran la capacidad del agente para proporcionar información meteorológica actual, ofrecen consejos basados en pronósticos meteorológicos y predecir las condiciones climáticas futuras. Incluso puede hacer una pregunta relacionada con una actividad como la natación, y responderá en función de las condiciones climáticas si esa actividad está bien.
Limpiar
Si decide suspender el uso del meteorólogo virtual, puede seguir estos pasos para eliminarlo, sus recursos asociados implementados utilizando AWS CloudFormation y la implementación de Amplify:
- Eliminar la pila de CloudFormation:
- En la consola de CloudFormation de AWS, elija Pilas En el panel de navegación.
- Localice la pila que creó durante el proceso de implementación (le asignó un nombre).
- Seleccione la pila y elija Borrar.
- Elimine la aplicación de amplificación y sus recursos. Para obtener instrucciones, consulte los recursos de limpieza.
Conclusión
Esta solución demuestra el poder de combinar a los agentes de roca madre de amazon con otros servicios de AWS para crear un asistente meteorológico inteligente y conversacional. Al utilizar las tecnologías de IA y la nube, las empresas pueden automatizar consultas complejas y proporcionar información valiosa a sus usuarios.
Recursos adicionales
Para obtener más información sobre amazon Bedrock, consulte los siguientes recursos:
Para obtener más información sobre el modelo de soneto Claude 3.5 del antrópico, consulte los siguientes recursos:
Sobre los autores
Salman Ahmed es un gerente de cuentas técnicas senior en el soporte de AWS Enterprise. Le gusta ayudar a los clientes en la industria de viajes y hospitalidad a diseñar, implementar y apoyar la infraestructura en la nube. Con una pasión por los servicios de redes y años de experiencia, ayuda a los clientes a adoptar varios servicios de redes de AWS. Fuera del trabajo, Salman disfruta de la fotografía, viajar y ver a sus equipos deportivos favoritos.
Sergio Barraza es un líder de soporte empresarial senior en AWS, ayudando a los clientes de energía a diseñar y optimizar las soluciones en la nube. Con una pasión por el desarrollo de software, guía a los clientes de energía a través de la adopción de servicios de AWS. El trabajo externo, Sergio es un músico de instrumentos múltiples tocando guitarra, piano y batería, y también practica ala Chun Kung Fu.
Ravi Kumar es un gerente de cuentas técnicas senior en AWS Enterprise Support que ayuda a los clientes en la industria de viajes y hospitalidad a optimizar sus operaciones en la nube en AWS. Es un profesional de TI basado en resultados con más de 20 años de experiencia. En su tiempo libre, Ravi disfruta de actividades creativas como la pintura. También le gusta jugar al cricket y viajar a nuevos lugares.
Ankush Goyal es un líder de soporte empresarial en el soporte empresarial de AWS que ayuda a los clientes a agilizar sus operaciones en la nube en AWS. Es un profesional de TI basado en resultados con más de 20 años de experiencia.