Una guía práctica para construir agentes de IA con Java y Spring AI - Parte 4 - Agregar herramientas
En la entrega anterior se mejoró el agente de IA con conocimiento específico del dominio mediante RAG para responder preguntas basadas en documentos de la empresa. Sin embargo se detectó una limitación crítica: al preguntar por información en tiempo real como pronósticos del tiempo o la fecha actual el agente no ofrecía respuestas precisas. Los modelos de IA se entrenan con datos históricos y tienen una fecha de corte de conocimiento por lo que no disponen de información en tiempo real como el tiempo actual fecha de hoy precios de vuelos en vivo o tipos de cambio. Eso les impide gestionar tareas sensibles al tiempo que requieren datos actualizados.
En esta parte explicamos cómo añadir tool calling también conocido como function calling al agente para que pueda acceder a información en tiempo real y ejecutar acciones llamando a APIs y servicios externos. La solución permite que el agente consulte fuentes externas para obtener datos en tiempo real y realice operaciones automatizadas cuando sea necesario.
El reto de la información en tiempo real se solventa definiendo herramientas como métodos Java anotados con @Tool proporcionando descripciones claras para que el modelo seleccione la herramienta adecuada y permitiendo que el agente invoque esas herramientas automáticamente para devolver datos reales que fundamenten sus respuestas.
Por qué usar tool calling En pocas palabras tool calling aporta dos capacidades clave: recuperación de información acceso a APIs externas como servicios meteorológicos bases de datos o servicios web para ampliar el conocimiento del modelo y ejecución de acciones envío de correos reservas de vuelos creación de registros y automatizaciones que requieren integración con sistemas.
Visión arquitectónica El flujo es sencillo: el usuario pregunta el modelo de IA decide qué herramienta llamar el servicio correspondiente devuelve datos en tiempo real y el agente sintetiza la respuesta integrando esos datos.
Los componentes principales en el ejemplo son:
• DateTimeService para obtener fecha y hora actual en cualquier zona horaria
• WeatherService que usa la API de Open Meteo para obtener pronósticos
• ChatService que registra las herramientas disponibles y deja que la IA las invoque según la descripción
Requisitos previos Antes de comenzar asegúrese de tener el proyecto previo funcionando Java 21 JDK Maven 3.6 o superior Docker Desktop para contenedores de prueba AWS CLI configurado con acceso a Amazon Bedrock y el directorio del proyecto preparado.
Resumen de implementación pasos clave
1 Añadir dependencia WebClient Se usa Spring WebFlux WebClient para llamadas HTTP no bloqueantes añadiendo la dependencia spring-webflux al pom.xml
2 Crear DateTimeService Servicio que expone un método que devuelve la fecha y hora actual en la zona horaria solicitada anotado con @Tool para que el agente lo use cuando necesite calcular fechas relativas como mañana o la semana que viene
3 Crear WeatherService Servicio que convierte el nombre de la ciudad a coordenadas con la API de geocoding de Open Meteo y luego consulta el endpoint de pronóstico diario para obtener temperatura máxima y mínima formatea la respuesta y gestiona errores para devolver mensajes claros al agente
4 Registrar las herramientas en ChatService Al construir el cliente de chat se registran las herramientas personalizadas como herramientas por defecto de modo que el modelo las tenga disponibles y pueda seleccionarlas automáticamente según las descripciones
Cómo funciona en la práctica Cuando un usuario pregunta por ejemplo cuál será el tiempo mañana en París el agente analiza la consulta identifica que necesita la fecha actual y el pronóstico llama a getCurrentDateTime para calcular mañana y luego llama a getWeather para obtener la previsión del día solicitado y finalmente sintetiza una respuesta natural basada en los resultados de las herramientas.
Pruebas y ejemplos de uso Puede probar las herramientas mediante la API REST del servicio invocando el endpoint de chat con un prompt que pida previsiones meteorológicas o fechas relativas. Un ejemplo de respuesta esperada podría ser: Weather for Paris France on 2025-11-11 Min 8.7 deg C Max 14.3 deg C. El agente ahora puede ofrecer respuestas precisas y actualizadas para preguntas sensibles al tiempo.
Limitaciones detectadas y siguientes pasos Una limitación práctica es que no siempre es posible integrar todos los sistemas externos necesarios como plataformas de reserva de vuelos o hoteles. En el ejemplo el agente concluye que no tiene acceso directo a sistemas de reservas y propone alternativas. La siguiente evolución es dotar al agente de conectores flexibles para integrar APIs internas o externas con autenticación y orquestación dinámica permitiendo búsquedas de vuelos hoteles y disponibilidades en tiempo real.
Pruebas finales y limpieza Para detener la aplicación cierre el proceso y si se usó un contenedor PostgreSQL con reuse puede pararlo y eliminarlo según sea necesario. Versione y confirme los cambios en su repositorio con un commit descriptivo.
Conclusión En esta cuarta parte añadimos capacidades en tiempo real al agente de IA mediante tool calling DateTimeService que provee fecha y hora en cualquier zona WeatherService que obtiene pronósticos desde Open Meteo y un mecanismo de selección automática de herramientas por parte del modelo. Con esto el agente cuenta con memoria conocimiento y acceso a datos en tiempo real formando una base sólida para uso en producción en escenarios de viajes gastos y automatización.
En Q2BSTUDIO somos una empresa de desarrollo de software especializada en aplicaciones a medida y software a medida con experiencia en inteligencia artificial ciberseguridad y servicios cloud aws y azure. Ofrecemos soluciones completas que van desde la arquitectura y desarrollo de agentes IA hasta integración con servicios cloud y herramientas de inteligencia de negocio. Si desea profundizar en soluciones de inteligencia artificial para empresas visite nuestra página de inteligencia artificial en servicios de inteligencia artificial y para iniciativas que impliquen despliegue en la nube consulte nuestros servicios cloud en servicios cloud AWS y Azure.
Palabras clave aplicadas y recomendaciones SEO Incluya en sus páginas términos como aplicaciones a medida software a medida inteligencia artificial ciberseguridad servicios cloud aws y azure servicios inteligencia de negocio ia para empresas agentes IA y power bi para mejorar el posicionamiento y relacionarlos con casos prácticos y resultados de negocio.
Si quiere que en la siguiente entrega integremos conectores para reservas de vuelos y hoteles o conectemos su agente a sistemas internos corporativos en Q2BSTUDIO podemos ayudar a diseñar una arquitectura segura escalable y alineada con políticas de cumplimiento y ciberseguridad.
Contacte con nosotros para una consultoría personalizada y acelere la adopción de agentes IA en su organización con soluciones a medida desarrolladas por Q2BSTUDIO especialistas en inteligencia artificial ciberseguridad servicios cloud y business intelligence.