Esta publicación está coescrita con Vikram Gundeti y Nate Folkert de Foursquare.
La personalización es clave para crear experiencias memorables. Ya sea que esté recomendando la película perfecta o sugerir un nuevo restaurante, la adaptación de las sugerencias a las preferencias individuales puede marcar la diferencia. Pero cuando se trata de alimentos y actividades, hay más que considerar que solo el gusto personal. La ubicación y el clima también juegan un papel crucial en la configuración de nuestras elecciones. Imagine planificar un día: en una tarde soleada, un picnic tranquilo en el parque podría ser ideal, pero si está lloviendo, un acogedor café interior sería mucho más atractivo. El desafío, entonces, es crear un agente que pueda integrar perfectamente estos factores (ubicación, clima y preferencias personales) para proporcionar recomendaciones verdaderamente personalizadas.
Para abordar este desafío, podemos combinar Agentes de roca madre de Amazon y API Foursquare. En esta publicación, demostramos cómo puede usar un agente consciente de la ubicación para traer respuestas personalizadas a sus usuarios.
Agentes de roca madre de Amazon
Roca madre de Amazon Eso hace que sea sencillo construir y escalar aplicaciones generativas de IA. Proporciona acceso a una variedad de modelos fundamentales de alto rendimiento (FMS) de compañías líderes de IA como AI21 Labs, antrópico, Cohere, Luma, Meta, Mistral AI, Stability AI y Amazon, todo a través de una sola API. Esto significa que no necesita administrar la infraestructura, porque no tiene servidor y se integra con servicios familiares de AWS para seguridad, privacidad e IA responsable. Puede experimentar con modelos, personalizarlos con sus datos y crear aplicaciones sin escribir código complejo.
Amazon Bedrock Agents es una característica dentro de Amazon Bedrock que le permite crear agentes de IA autónomos. Estos agentes pueden comprender las solicitudes de los usuarios, dividirlas en pasos y completar tareas conectándose con las API y las fuentes de datos de su empresa. Por ejemplo, pueden automatizar procesos como procesar reclamos de seguro o administrar el inventario, haciéndolos eficientes para las tareas comerciales. Se manejan automáticamente la ingeniería, la memoria y la seguridad, por lo que puede configurarlos rápidamente sin administrar la infraestructura.
API de Foursquare Places
Las API de lugares de Foursquare ofrecen inteligencia de ubicación precisa para aplicaciones que requieren conciencia contextual. Construido sobre el conjunto de datos Global de código abierto con 100 millones de puntos de interés que abarcan 1,500 categorías, las API de las API transforman las coordenadas geográficas en un contexto comercial procesable.
La API de geotagging resuelve con precisión las coordenadas GPS a un lugar específico con un alto grado de precisión, lo que permite que las aplicaciones determinen instantáneamente si un usuario está en una cafetería local, dentro de una tienda por departamentos de Macy’s o de pie en Central Park. Las API de búsqueda y datos del lugar transforman cómo las aplicaciones descubren ubicaciones al proporcionar capacidades de filtrado matizadas más allá de las simples búsquedas de proximidad. Los desarrolladores pueden filtrar lugares por categorías específicas (encontrar solo restaurantes, parques o atracciones turísticas), aplicar restricciones basadas en atributos (como el rango de precios o los servicios especiales), considerar factores temporales (como el estado operativo actual) y la distancia de equilibrio con relevancia para resultados verdaderamente contextuales. Cada lugar devuelto viene enriquecido con atributos contextuales, incluidas fotos, revisiones, calificaciones de calidad y datos de popularidad en tiempo real.
Cuando se integran con los agentes de la roca madre de Amazon, las API de los lugares de Foursquare permiten la creación de aplicaciones que comprenden el contexto completo de la ubicación de un usuario, lo que resulta en experiencias que son relevantes, oportunas y personalizadas.
Descripción general de la solución
Para demostrar el poder de agregar ubicación a los agentes de fundamento de Amazon, creamos una arquitectura simple que crea un agente de roca madre de Amazon con las API de Foursquare Luese y una API meteorológica. Al peinar estas capacidades, podemos crear experiencias de usuario únicas que se personalicen en el contexto de dónde está el usuario. El siguiente diagrama muestra cómo diseñamos al agente.
En el flujo de trabajo de la solución, el usuario interactúa con el agente a través de una interfaz web de transmisión. La aplicación web utiliza la lógica de la aplicación que invoca al agente de rock de Amazon en la nube. El agente conoce las herramientas de ubicación y las herramientas meteorológicas a pesar de que están alojadas localmente dentro de la aplicación. Cuando el agente invoca las herramientas, se proporciona una respuesta de retorno de control a la lógica de la aplicación, que invoca la herramienta y proporciona la respuesta de la herramienta en una segunda invocación del agente. Además de las herramientas, el agente tiene instrucciones básicas sobre qué tipo de personalidad debe tener y qué tipos de comportamientos debe soportar.
Exploremos un ejemplo de una breve interacción con el agente donde preguntamos si hay un parque cerca y un restaurante recomendado cerca del parque para comida para llevar.
La siguiente captura de pantalla muestra la primera interacción con un agente, ubicando un parque cercano con las API de Foursquare invocadas por el agente.
En este ejemplo, puede ver al agente enviando eventos intermedios al usuario informándoles de las acciones que tienen lugar (invocar el modelo, invocar una herramienta, pensar, etc.).
La siguiente captura de pantalla muestra la lista de restaurantes recomendados por las API Foursquare cerca del parque.
En este ejemplo, el agente invoca las API en función de la entrada del usuario, y la interfaz de usuario optimista conecta la salida de Foursquare a un mapa.
En la siguiente sección, detallamos cómo puede construir el agente en su cuenta y comenzar.
Requisitos previos
Para implementar esta solución, debe tener una cuenta de AWS con los permisos necesarios.
También necesitará una clave API de servicio Foursquare para permitir que su agente de IA acceda a los puntos finales de la API de Foursquare. Si aún no tiene uno, siga las instrucciones en Documentación de Foursquare: Administre las claves API de su servicio para crear uno. Deberá iniciar sesión en su cuenta de Foursquare Developer o crear una si no tiene una (crear una cuenta básica es gratuita e incluye crédito de inicio para su proyecto). Asegúrese de copiar la clave API del servicio en la creación, ya que no podrá volver a verla.
Construir el agente
El código fuente para el agente de Foursquare está disponible como código abierto a continuación Repositorio de Github. Complete los siguientes pasos para aumentar el agente en su carpeta local desde la fuente:
- Clonar el repositorio a una carpeta local.
- Establezca variables de entorno para su token API de Foursquare:
export FOURSQUARE_SERVICE_TOKEN=<Foursquare API token>
- Establezca variables de entorno para sus credenciales de AWS:
export AWS_ACCESS_KEY_ID=<AWS_ACCESS_KEY_ID>
export AWS_SECRET_ACCESS_KEY=<SECRET_ACCESS_KEY>
- Requisitos de instalación:
pip install requirements.txt
- Comience la interfaz de usuario de transmisión:
streamlit run agent_ui.py
Mejores prácticas
Cuando crea un agente, recomendamos comenzar con un conjunto de datos de prueba. Piense en las posibles entradas y cuáles son salidas aceptables. Use estas conversaciones de muestra para probar el agente siempre que se realice un cambio. Además, los agentes de roca madre de Amazon le permiten configurar barandillas para proteger contra la entrada maliciosa o los tipos de conversación que no desea usar para su experiencia de usuario. Recomendamos para cualquier caso de uso de producción para acoplar a su agente con barandas apropiadas. Para aprender más, ver Baratería de roca amazónica.
Limpiar
Cuando haya terminado de usar la solución, elimine los recursos que creó para evitar cargos continuos.
Conclusión
Los agentes proporcionan un mecanismo para automatizar el trabajo en nombre de sus clientes, ya sea a través de una interfaz de chat u otras entradas. Combinando la automatización posible con los agentes con las API conscientes de la ubicación de Foursquare, puede crear potentes UI y experiencias que deleitarán a sus clientes con nuevos niveles de personalización. Con los agentes de roca madre de Amazon, puede construir una solución centrada en la nube que le permita usar potentes modelos de base en Amazon Bedrock para impulsar estas experiencias.
Pruebe la solución para su propio caso de uso y comparta sus comentarios en los comentarios.
Sobre los autores
John Baker es un SDE principal en AWS, donde trabaja en Amazon Bedrock y específicamente agentes de roca madre de Amazon. Ha estado con Amazon durante más de 10 años y ha trabajado en AWS, Alexa y Amazon.com. En su tiempo libre, a John disfruta del esquí y otras actividades al aire libre en todo el noroeste del Pacífico.
Mark Roy es un principal arquitecto de aprendizaje automático de AWS, que ayuda a los clientes a diseñar y construir soluciones generativas de IA. Su enfoque desde principios de 2023 ha sido liderar los esfuerzos de arquitectura de soluciones para el lanzamiento de Amazon Bedrock, la oferta de IA generativa insignia de AWS para constructores. El trabajo de Mark cubre una amplia gama de casos de uso, con un interés primario en la IA generativa, los agentes y la escala de ML en toda la empresa. Ha ayudado a empresas en seguros, servicios financieros, medios y entretenimiento, atención médica, servicios públicos y fabricación. Antes de unirse a AWS, Mark fue un arquitecto, desarrollador y líder de tecnología durante más de 25 años, incluidos 19 años en servicios financieros. Mark posee seis certificaciones de AWS, incluida la certificación de especialidad de ML.
Vikram Gundeti Actualmente se desempeña como Director de Tecnología (CTO) de Foursquare, donde dirige la estrategia técnica, la toma de decisiones y la investigación de la plataforma geoespacial de la compañía. Antes de unirse a Foursquare, Vikram ocupó el cargo de ingeniero principal en Amazon, donde dejó su huella como ingeniero fundador en el equipo de Amazon Alexa.
Nate Folkert es ingeniero de personal senior en Foursquare, donde lo ha estado desde que lo vio con tendencia cerca cuando se registra en una cafetería SOHO hace 14 años. Construye la API del servidor para Swarm y ayuda en proyectos especiales. Fuera del trabajo, le encanta explorar el mundo (con Swarm, OFC, entonces, ¿está realmente fuera del trabajo?) Y actualmente está obsesionado con encontrar todos los lugares de filmación de IRL utilizados en Apple TV’s Ruptura