Categorías: Noticias

Aprende a construir y desplegar agentes de IA con LangGraph usando watsonx.ai

La inteligencia artificial ya no solo responde, también toma decisiones. Con frameworks como LangGraph y plataformas como watsonx.ai , puedes construir agentes que razonen y actúen de forma autónoma 🤯.

En este artículo, te explicaremos cómo implementar un agente ReAct (Reasoning + Action) localmente y desplegarlo en IBM Cloud, todo esto con un ejemplo práctico que incluye una herramienta de consulta del clima 🌤️.

Cómo construir y desplegar agentes IA autónomos con LangGraph y watsonx.ai

Preparemos el entorno para nuestro agente

Necesitamos:

  • Python 3.12 instalado
  • Acceso a IBM Cloud y watsonx.ai
  • Poetry para gestión de dependencias

¿Lo tienes todo? Pues lo primero es lo primero, clonar el repositorio que usaremos como ejemplo. Está basado en los ejemplos oficiales de IBM.

git clone https://github.com/thomassuedbroecker/watsonx-agent-langgraph-deployment-example.git 
cd ./agents/langgraph-arxiv-research

Arquitectura del proyecto

Antes de nada, entendamos el proyecto de ejemplo.

[Developer Workstation] → [CI/Build Process] → [Deployment] ↓
[IBM Cloud / watsonx.ai]

Los principales archivos del agente son:

ai_service.py
Archivo principal que inicia el servicio del agente en producción.
agent.py
Lógica central del agente IA basado en LangGraph. Define el flujo de trabajo.
tools.py
Herramientas conectadas al agente (Weather API).

Pasemos a configurar el entorno

python3.12 -m venv .venv
source ./.venv/bin/activate
python3 -m pip install --upgrade pip
python3 -m pip install poetry

También recomendamos el uso de Anaconda o miniconda. Nos permite gestonar entornos virtuales o paquetes de Python de forma sencilla y es muy utilizado en ML.

Para que Python pueda encontrar nuestros módulos personalizados (como los agentes y las herramientas), necesitamos incluir el directorio actual en la variable de entorno PYTHONPATH

 

export PYTHONPATH=$(pwd):${PYTHONPATH}

echo ${PYTHONPATH}

 

Una vez tenemos listo el entorno es el momento de las variables. Debes crear un archivo config.toml si no lo tienes ya y usar tus credenciales de IBM Cloud:

[deployment]
watsonx_apikey = "TU_APIKEY"
watsonx_url = ""  # Tiene que seguir el siguiente formato: `https://{REGION}.ml.cloud.ibm.com0`
space_id = "SPACE_ID"
deployment_id = "YOUR_DEPLOYMENT_ID"
[deployment.custom]
model_id = "mistralai/mistral-large" # underlying model of WatsonxChat
thread_id = "thread-1" # Más información: https://langchain-ai.github.io/langgraph/how-tos/persistence/
sw_runtime_spec = "runtime-24.1-py3.11"

Encontrarás tus variables aquí:

https://dataplatform.cloud.ibm.com/developer-access

Una vez allí, selecciona tu espacio de despliegue y copia los datos necesarios (API Key, Space ID, etc.).

Ejecución en local del agente

Toca probar el agente:

source ./.venv/bin/activate
poetry run python examples/execute_ai_service_locally.py

Ya que es un agente meteorológico ¿por qué no lo pruebas con algo como algo como…?

“What is the current weather in Madrid?”

La consola debería darte el tiempo en Madrid. ¡Enhorabuena! solo nos falta hacer el deploy en watsonx.ai

Despliegue del agente en watsonx.ai

source ./.venv/bin/activate
poetry run python scripts/deploy.py
Este código desplegará el agente en Watsonx.ai
deploy.py hace lo siguiente:
  1. Lee la configuración (config.toml) con tus credenciales y espacio de despliegue.
  2. Empaqueta tu código en un ZIP para subirlo a IBM Cloud.
  3. Crea una especificación de software personalizada basada en un entorno base (como runtime-24.1-py3.11).
  4. Despliega el agente como un servicio REST en watsonx.ai.
  5. Guarda el deployment_id , necesario para interactuar con el agente después.

En resumen:
Toma tu agente local, lo prepara y lo convierte en un servicio accesible desde la nube.

Revisamos que esté todo correcto en watsonx.ai y vamos al apartado de “Test”. Allí pegaremos el siguiente json (es tan solo una pregunta)
{
"messages": [
{
"content": "What is the weather in Malaga?",
"data": {
"endog": [
0
],
"exog": [
0
] },
"role": "User"
}
] }
Dale a predict y el agente usará la herramienta weather_service.
En el json de respuesta podrás ver el proceso del agente -> llamar a la herramienta -> recoger la ciudad -> procesar y devolver la temperatura.
¡Ya está funcionando tu agente en watsonx.ai!
Si quieres probarlo desde la terminal para asegurarte de que funciona, solo tienes que usar
source ./.venv/bin/activate
poetry run python examples/query_existing_deployment.py
Conclusiones

Si te ha quedado alguna duda, te recomendamos el siguiente vídeo tutorial donde podrás seguir paso a paso el desarrollo conectado con watsonx.ai

Si quieres seguir explorando este tipo de implementaciones o aprender más sobre desarrollo cloud e inteligencia artificial, te invitamos a explorar nuestros cursos de IA👇

albamart

Compartir
Publicado por
albamart

Entradas recientes

SIXE: Tu partner especializado en LinuxONE 5

¿Te imaginas cómo sería tener una infraestructura potente y sin pagar licencias propietarias? Pues... se…

1 mes hace

IBM i 7.6 vs Ubuntu: análisis para elegir (o combinar) con criterio

Cuando hablamos de servidores IBM Power, muchas decisiones parecen una batalla entre dos mundos: la…

3 meses hace

IBM i 7.6 | Todo lo que necesitas saber sobre la última versión del sistema operativo de IBM

IBM i 7.6 estará disponible el 18 de abril de 2025. IBM i es la evolución…

3 meses hace

Webinars de IBM Power 2025: Aprende gratis con expertos de tu a tu

¿Te imaginas encontrar soluciones a tus problemas de Linux, AIX, IBM i, etc... en español?!🙀…

4 meses hace

Cómo implementar una aquitectura de ML sin fracasar en el intento

📌 ¿Te llama la atención las automatizaciones, IA, etc? Estás en tu sitio. En SIXE…

4 meses hace

Power11 de IBM: todo lo que sabemos hasta el momento

Post en constante actualización (basada exclusivamente en la opiniones y expectativas de SIXE) La evolución…

5 meses hace