Construya recomendaciones de viaje en tiempo real utilizando agentes de IA en Amazon Bedrock

La IA generativa está transformando la forma en que las empresas ofrecen experiencias personalizadas en todas las industrias, incluidos los viajes y la hospitalidad. Los agentes de viajes están mejorando sus servicios al ofrecer paquetes de vacaciones personalizados, cuidadosamente seleccionados para las preferencias únicas del cliente, incluidas las necesidades de accesibilidad, las restricciones dietéticas e intereses de actividad. Cumplir con estas expectativas requiere una solución que combine el conocimiento integral de los viajes con información de precios y disponibilidad en tiempo real.

En esta publicación, mostramos cómo construir una solución de IA generativa usando Roca madre de Amazon Eso crea paquetes de vacaciones a medida combinando perfiles de clientes y preferencias con datos de precios en tiempo real. Demostramos cómo usar Bases de conocimiento de Amazon Bedrock para información de viaje, Agentes de roca madre de Amazon para detalles de vuelo en tiempo real y Amazon OpenSearch Servidor sin ser para una búsqueda y recuperación de paquetes eficientes.

Descripción general de la solución

Las agencias de viajes enfrentan demandas crecientes de recomendaciones personalizadas mientras luchan con la precisión y escalabilidad de los datos en tiempo real. Considere una agencia de viajes que necesita ofrecer paquetes de vacaciones accesibles: deben hacer coincidir los requisitos de accesibilidad específicos con la disponibilidad de vuelo y alojamiento en tiempo real, pero están limitados por tiempos de procesamiento manuales e información anticuada en los sistemas tradicionales. Esta solución con AI combina personalización con la integración de datos en tiempo real, lo que permite a la agencia hacer coincidir automáticamente los requisitos de accesibilidad con las opciones de viaje actuales, entregando recomendaciones precisas en minutos en lugar de las horas. La solución utiliza una arquitectura de tres capas para ayudar a los agentes de viajes a crear recomendaciones de vacaciones personalizadas.

  • Capa frontend – Proporciona una interfaz donde los agentes de viajes ingresan los requisitos y las preferencias del cliente
  • Capa de orquestación – Procesa la solicitud y los enriquece con los datos del cliente
  • Capa de recomendación – Combina dos componentes clave:
    • Almacenamiento de datos de viaje – Mantiene un repositorio de búsqueda de paquetes de viaje
    • Recuperación de información en tiempo real- Obtiene detalles actuales del vuelo a través de la integración de API

El siguiente diagrama ilustra esta arquitectura.

Con este enfoque en capas, los agentes de viajes pueden capturar los requisitos del cliente, enriquecerlos con preferencias almacenadas, integrar datos en tiempo real y ofrecer recomendaciones personalizadas que coincidan con las necesidades del cliente. El siguiente diagrama ilustra cómo se implementan estos componentes utilizando los servicios de AWS.

Diagrama de arquitectura del sistema de recomendación de vacaciones

La implementación de AWS incluye:

  • Puerta de entrada de la API de Amazon Recibe solicitudes y las enruta a las funciones de AWS Lambda que facilitan las llamadas de API seguras para recuperar recomendaciones
  • AWS Lambda Procesa datos de entrada, crea el aviso enriquecido y ejecuta el flujo de trabajo de recomendación
  • Amazon Dynamodb Almacena preferencias de clientes e historial de viajes
  • Bases de conocimiento de Amazon Bedrock Ayuda a los agentes de viajes a construir una base de datos curada de destinos, paquetes de viaje y ofertas, asegurándose de que las recomendaciones se basen en información confiable y actualizada.
  • Amazon OpenSearch Servidor sin ser Habilita la búsqueda de vector simple, escalable y de alto rendimiento
  • Amazon Simple Storage Service (Amazon S3) Almacena grandes conjuntos de datos, como horarios de vuelo y materiales promocionales,
  • Agentes de roca madre de Amazon Integra la recuperación de información en tiempo real, asegurándose de que los itinerarios recomendados reflejen la disponibilidad actual, los precios y la programación a través de integraciones de API externas

Esta solución usa un AWS CloudFormation plantilla que se meta automáticamente y configura los recursos requeridos. La plantilla maneja el proceso de configuración completo, incluidas las configuraciones de servicio y los permisos necesarios.

Para obtener la última información sobre cuotas de servicio que podrían afectar su implementación, consulte Cuotas de servicio de AWS.

Requisitos previos

Para implementar y usar esta solución, debe tener lo siguiente:

  • Una cuenta de AWS con acceso a Amazon Bedrock
  • Permisos para crear y administrar los siguientes servicios:
    • Roca madre de Amazon
    • Amazon OpenSearch Servidor sin ser
    • Lambda
    • Dinamodb
    • Amazon S3
    • Puerta de enlace de la API
  • Acceso a modelos de base en Amazon Bedrock para Amazon Titan Text Increddings V2 y Anthrope Claude 3 Haiku Models

Implementar la pila de CloudFormation

Puede implementar esta solución en su cuenta de AWS utilizando AWS CloudFormation. Complete los siguientes pasos:

  1. Elegir Pila de lanzamiento:

Pila de lanzamiento

Serás redirigido al Crear pila Asistente en la consola AWS CloudFormation con el nombre de la pila y la URL de la plantilla ya se completó.

  1. Deje la configuración predeterminada y complete la creación de pila.
  2. Elegir Ver eventos de pila para ir a la consola AWS CloudFormation para ver los detalles de la implementación.

La pila toma alrededor de 10 minutos para crear los recursos. Espere hasta que el estado de la pila sea Create_complete antes de continuar a los próximos pasos.

La plantilla de CloudFormation crea y configura automáticamente componentes para el almacenamiento y administración de datos, el lecho de roca de Amazon y la API y la interfaz.

Almacenamiento y gestión de datos

La plantilla establece los siguientes recursos de almacenamiento y gestión de datos:

  • Un cubo S3 y con un conjunto de datos de muestra (travel_data.json y promotions.csv), plantilla de inmediato y el esquema API

S3 Bucket que contiene archivos JSON y CSV para el sistema de recomendación de viajes

  • Tablas de DynamoDB pobladas con perfiles de usuario de muestra e historial de viajes

Lista de tablas de Dynamodb que muestra tablas de viaje y preferencia de usuario

  • Una colección OpenSearch Servidor con configuraciones optimizadas para búsquedas de paquetes de viaje

Vista de colección de OpenSearch

  • Un índice vectorial con configuraciones compatibles con la base de conocimiento de Amazon Bedrock

Configuración del índice vectorial de OpenSearch para recomendaciones de viaje a IA con rock de Amazon

Configuración de roca madre de Amazon

Para Amazon Bedrock, la plantilla de CloudFormation crea los siguientes recursos:

  • Una base de conocimiento con el conjunto de datos de viajes y fuentes de datos ingeridas en Amazon S3 con sincronización automática

Página de configuración de la base de conocimiento de AWS que muestra la configuración de HolidayRecommendationKB

  • Un agente de roca madre de Amazon, que se prepara automáticamente

Descripción general del agente de la roca madre de Amazon

  • Una nueva versión y alias para el agente

Configuración del alias de Amazon Bedrock Agent

  • Grupos de acción del agente con integración de datos de vuelo simulado

Amazon Bedrock Agent Action Group

  • Una invocación de grupo de acción, configurada con el FlightPricingLambda La función lambda y el esquema API recuperado del cubo S3

Configuración de acción de Amazon Bedrock Agent

Configuración de API e interfaz

Para habilitar el acceso a la API y la interfaz de usuario, la plantilla configura los siguientes recursos:

  • Puntos finales de API Gateway
  • Lambda funciona con una API de vuelo simulada para fines de demostración
  • Una interfaz web para agentes de viajes

Verificar la configuración

Después de completar la creación de pila, puede verificar la configuración en el Salidas Pestaña de la consola de AWS CloudFormation, que proporciona la siguiente información:

  • Sitio weburl – Acceda a la interfaz del agente de viajes
  • Apiense – Uso para el acceso programático al sistema de recomendación

CloudFormation Stack que muestra el punto final de API y las salidas de URL del sitio web

Prueba los puntos finales

La interfaz web proporciona un formulario intuitivo donde los agentes de viajes pueden ingresar los requisitos del cliente, que incluyen:

  • ID de cliente (por ejemplo, Joe o Will)
  • Presupuesto de viaje
  • Fechas preferidas
  • Número de viajeros
  • Estilo de viaje

Interfaz de recomendación de viaje vacío con campos de entrada de preferencia de usuario

Puede llamar a la API directamente usando el siguiente código:

curl -X POST \
  <ApiEndpoint> \
  -H 'Content-Type: application/json' \
  -d '{
    "userId": "Joe",
    "budget": "3000 GBP",
    "duration": "7 days",
    "travelDate": "2025-07-15",
    "numberOfTravelers": 2
  }'

Prueba la solución

Para fines de demostración, creamos perfiles de usuario de muestra en el UserPreferences y TravelHistory Tablas en Dynamodb.

El UserPreferences Tabla almacena preferencias de viaje específicas del usuario. Por ejemplo, Joe representa un viajero de lujo con requisitos de accesibilidad para sillas de ruedas.

Editor de artículos de base de datos que muestra las preferencias de viaje del usuario, incluidas las necesidades de presupuesto, restricciones dietéticas y accesibilidad

Will representa un viajero presupuestario con necesidades amigables para ancianos. Estos perfiles ayudan a mostrar cómo el sistema maneja diferentes requisitos y preferencias del cliente.

Amazon DynamoDB Editor de elementos que muestra las preferencias de viaje y las necesidades de accesibilidad

El TravelHistory Tabla almacena viajes pasados realizados por los usuarios. Las siguientes tablas muestran los viajes anteriores realizados por el usuario Joemostrando destinos, duraciones de viaje, calificaciones y fechas de viaje.

Vista de tabla DynamodB que muestra entradas del historial de viajes con detalles de destino y duración.

Pasemos por un caso de uso típico para demostrar cómo un agente de viajes puede usar esta solución para crear recomendaciones de vacaciones personalizadas. Considere un escenario en el que un agente de viajes está ayudando a Joe, un cliente que requiere accesibilidad para sillas de ruedas, planee unas vacaciones de lujo. El agente de viajes ingresa a la siguiente información:

  • ID de cliente: Joe
  • Presupuesto: 4.000 GBP
  • Duración: 5 días
  • Fechas de viaje: 15 de julio de 2025
  • Número de viajeros: 2
  • Estilo de viaje: lujo

Interfaz de planificador de vacaciones dirigida por IA que muestra las preferencias del usuario y las recomendaciones detalladas de viajes de Santorini impulsadas por Amazon Bedrock

Cuando un agente de viajes envía una solicitud, el sistema orquesta una serie de acciones a través del PersonalisedHolidayFunction La función Lambda, que consultará la base de conocimiento, verificará la información de vuelo en tiempo real utilizando la API simulada y devolverá recomendaciones personalizadas que coincidan con las necesidades y preferencias específicas del cliente. La capa de recomendación utiliza la siguiente plantilla de solicitud:

Based on the profile and requirements:

User Preferences:
- Travel Preferences: {travelStyle}
- Interests: {interests}
- Dietary Restrictions: {dietaryRestrictions}
- Accessibility Needs: {accessibility}

Current Request:
- Budget: {budget}
- Duration: {duration}
- Travel Date: {travelDate}
- Number of Travelers: {numberOfTravelers}

Previous Destinations: {previousDestinations}

Instructions:
1. Match the user's budget, travel style and interests
2. Consider dietary restrictions and accessibility needs
3. Avoid previously visited destinations
4. Include:
   - Recommended destinations
   - Suitable accommodations
   - Relevant activities and experiences
   - Transportation options
   - Estimated cost breakdown
   - Travel tips

Please follow the <Instructions> and provide a personalized holiday recommendation in the below format:
Destination: [Primary recommended destination]

[Detailed recommendation]

El sistema recupera las preferencias de Joe del perfil de usuario, que incluye:

{
    "userPreferences": {
        "preferences": "Prefer warm climate and cultural experiences",
        "budget": 3000,
        "duration": "5 days",
        "travelDate": "2025-03-04",
        "interests": [
            "photography",
            "food",
            "beach"
        ],
        "travelStyle": "Luxury",
        "numberOfTravelers": 2,
        "dietaryRestrictions": [
            "plant based",
            "vegetarian"
        ],
        "accessibility": [
            "wheelchair-accessible"
        ],
        "previousDestinations": [
            "Maldives",
            "Bali"
        ]
    }
}

Luego, el sistema genera recomendaciones personalizadas que consideren lo siguiente:

  • Destinos con accesibilidad probada en silla de ruedas
  • Alojamiento de lujo disponible
  • Detalles del vuelo para el destino recomendado

Cada recomendación incluye los siguientes detalles:

  • Información de accesibilidad detallada
  • Precios y disponibilidad de vuelos en tiempo real
  • Detalles de alojamiento con funciones de accesibilidad
  • Actividades y experiencias disponibles
  • Desglose de costos totales del paquete

Limpiar

Para evitar incurrir en cargos futuros, elimine la pila de CloudFormation. Para más información, ver Eliminar una pila de la consola CloudFormation.

La plantilla incluye políticas de eliminación adecuadas, asegurarse de que los recursos que creó, incluidos los cubos S3, las tablas DynamodB y las colecciones de OpenSearch, se eliminen correctamente.

Siguientes pasos

Para mejorar aún más esta solución, considere lo siguiente:

  • Explore las capacidades de múltiples agentes:
    • Cree agentes especializados para diferentes aspectos de viaje (hoteles, actividades, transporte local)
    • Habilitar la comunicación de agente a agente para la planificación del itinerario complejo
    • Implementar un agente de orquestador para coordinar las respuestas y resolver conflictos
  • Implementar soporte de varios idiomas utilizando modelos de base de varios idiomas en Amazon Bedrock
  • Integrar con los sistemas de gestión de relaciones con el cliente (CRM)

Conclusión

En esta publicación, aprendió cómo construir un sistema de recomendaciones de vacaciones con AI utilizando el lecho de roca de Amazon que ayuda a los agentes de viajes a ofrecer experiencias personalizadas. Nuestra implementación demostró cómo combinar las bases de conocimiento de Amazon Bedrock con los agentes de Bedrock de Amazon une efectivamente la información histórica de viaje con necesidades de datos en tiempo real, mientras se usa una arquitectura sin servidor y una búsqueda vectorial para una coincidencia eficiente de las preferencias de los clientes con paquetes de viajes. La solución muestra cómo los sistemas de recomendación de viajes pueden equilibrar el conocimiento integral de los viajes, la precisión de datos en tiempo real y la personalización a escala. Este enfoque es particularmente valioso para las organizaciones de viajes que necesitan integrar datos de precios en tiempo real, manejar requisitos de accesibilidad específicos o escalar sus recomendaciones personalizadas. Esta solución proporciona un punto de partida práctico con rutas claras para mejorar las necesidades comerciales específicas, desde la modernización de sus sistemas de planificación de viajes o manejar requisitos complejos de los clientes.

Recursos relacionados

Para obtener más información, consulte los siguientes recursos:

  • Documentación:
  • Muestras de código:
  • Aprendizaje adicional:

Sobre el autor

Vishnu Vardhini

Vishnu Vardhini es un arquitecto de soluciones en AWS con sede en Escocia, centrándose en los clientes de SMB en todas las industrias. Con experiencia en seguridad, ingeniería en la nube y DevOps, arquitecta soluciones AWS escalables y aseguradas. Le apasiona ayudar a los clientes a aprovechar el aprendizaje automático y la IA generativa para impulsar el valor comercial.