Cree un agente de investigación personalizado con Langflow utilizando el ADK de Watsonx Orchestrate e IBM Cloud

Con el desarrollo del panorama de los agentes de IA, algunas empresas informan de sus dudas con respecto a la adopción generalizada de estos agentes autónomos.1 Algunos desafíos incluyen el gobierno, la ética, la colaboración entre humanos y la IA, la implementación y la escalabilidad. Sin embargo, crear agentes de IA fiables no tiene por qué ser complejo. Con IBM® watsonx Orchestrate, estas preocupaciones pueden mitigarse desde un único lugar. En este tutorial, aprenderá a usar Langflow y watsonx Orchestrate para crear agentes fiables y escalables listos para empresas.

¿Qué es Langflow?

Langflow es un marco de código abierto basado en Python para la creación de agentes de IA y otras aplicaciones de inteligencia IA. Langflow se construyó originalmente sobre LangChain, su marco. LangGraph, otra plataforma perteneciente a la misma familia, también se utiliza para construir sistemas agénticos mediante arquitecturas basadas en grafos. Lo que distingue a Langflow es su interfaz fácil de usar, de arrastrar y soltar, en la que los usuarios pueden conectar componentes de agentes para diseñar flujos de trabajo personalizados o comenzar con las plantillas prediseñadas. Como alternativa a este enfoque low-code o no-code, los desarrolladores pueden crear componentes personalizados e integrar flujos de agentes paso a paso en el código de la aplicación existente mediante la API de Langflow. En este tutorial de Langflow, exploraremos cómo crear e implementar agentes mediante:

  1. Importación de flujos LangFlow agénticos como servidores MCP utilizando IBM watsonx Orchestrate como Software como Servicio (SaaS) junto con IBM Cloud.
  2. Importación de flujos LangFlow básicos mediante el uso local de IBM watsonx Orchestrate Agent Development Kit (ADK).

Ambos enfoques corresponden a una sección de este tutorial. Tenga en cuenta que también puede acceder a este tutorial en GitHub.

¡Empecemos!

Requisitos previos

Este tutorial requiere:

  • La última versión de Python instalada.
  • Una cuenta de IBM Cloud para crear un ID de proyecto de watsonx.ai y una clave API. Los planes de servicio Lite y Free están disponibles.
    • Puede obtener el ID de su proyecto desde el propio proyecto. Haga clic en la pestaña Administrar. A continuación, copie el ID del proyecto de la sección Detalles de la página General. Necesita este ID para la parte ADK de este tutorial.
  • Una cuenta de watsonx Orchestrate (puede ser una cuenta de prueba). Si aún no tiene una cuenta, haga clic aquí para suscribirse a una prueba gratuita de 30 días. Consulte la documentación para obtener instrucciones detalladas sobre cómo recibir el acceso de prueba a IBM Cloud.
  • Se ha instalado el ADK de IBM watsonx Orchestrate. Siga la documentación oficial que encontrará aquí para configurar e instalar el ADK.
    • Nota: Si ha instalado watsonx Orchestrate Developer Edition antes de la versión 2.0 de ADK, primero elimine todos los contenedores ejecutando Orchestrate Server Reset antes de actualizar. watsonx Orchestrate Developer Edition ya no depende de un motor de contenedor externo. Si no se reinicia antes de la actualización, puede que varias instalaciones de la aplicación consuman recursos innecesarios del sistema y se produzcan conflictos de puertos.
  • Se ha instalado la CLI de IBM Cloud. Los comandos de instalación para MacOS, Linux y Windows se pueden encontrar en la guía de inicio.

Tenga en cuenta que sin estos requisitos, este tutorial no será reproducible.

Pasos: Enfoque de IBM Cloud

Paso 1. Configure su entorno IBM Cloud

En su terminal, ejecute el siguiente comando. Se le dará la instrucción de iniciar sesión en su cuenta de IBM Cloud utilizando su IBMid. Si tiene varias cuentas, deberá seleccionar una.

ibmcloud login

Nota: ¿Credenciales rechazadas? Es posible que sea un usuario federado. Vuelva a iniciar sesión con el --sso marcar para utilizar un identificador de inicio de sesión único corporativo o empresarial. Para obtener más información sobre cómo iniciar sesión con identificadores federados, consulte la documentación . En resumen, cuando se lo pidan, permita que la URL se abra en su navegador predeterminado y pegue el código de un solo uso que aparezca de nuevo en su terminal.

Sabrá que su inicio de sesión se ha realizado correctamente al ver un output similar.

Resultado:

API endpoint: https://cloud.ibm.com
Region: us-south
User: your.email@email.com
Account: itz-watsonx-event-001 (f1zzz9a2e11b432ea5316227cb901888) <-> 3021952
Resource group: No resource group targeted, use ‘ibmcloud target -g RESOURCE_GROUP’

Nota: Si nota que la región no es correcta, ejecute ibmcloud target -r  seguido de la región correcta. Por ejemplo, si su endpoint de servicio regional es us-east, ejecute ibmcloud target -r us-east .

Para ver sus recursos en la nube, ejecute  ibmcloud resource groups. Este comando debería dar como resultado recuperar sus recursos y producir un output similar (los nombres e identificadores de sus recursos serán diferentes).

Resultado:

Retrieving all resource groups under account f1zzz9a2e11b432ea5316227cb901888 as your.email@email.com...
OK
Name ID Default Group State
watsonx 93018fa55c342de104afb8jje20c222c false ACTIVE
itz-wxo-69305f32086a49ee3736ff 48bbeb07ec5a4994b2fd39beb6027090 false ACTIVE

A continuación, apunte al recurso específico, ejecutando ibmcloud target -g RESOURCE_GROUP. En este ejemplo, el comando sería ibmcloud target -g itz-wxo-69305f32086a49ee3736ff.

Este resultado debería ser similar en output.

Resultado:

Targeted resource group itz-wxo-69305f32086a49ee3736ff
API endpoint: https://cloud.ibm.com
Region: us-south
User: your.email@email.com
Account: itz-watsonx-event-001 (f1zzz9a2e11b432ea5316227cb901888) <-> 3021952
Resource group: itz-wxo-69305f32086a49ee3736ff

Paso 2. Instale la CLI del IBM Cloud Code Engine

Con IBM Cloud Code Engine, puede ejecutar casi cualquier carga de trabajo contenedorizada sin gestionar servidores o infraestructura. La plataforma soporta desde microservicios y aplicaciones web hasta trabajos por lotes y funciones orientadas a eventos. También ofrece la creación de imágenes integrada a partir de su código fuente. Como todas las cargas de trabajo comparten el mismo entorno Kubernetes, se integran de forma natural. Code Engine está diseñado para mantener la infraestructura fuera de su camino y que pueda centrarse en crear aplicaciones. Instalar la CLI de Code Engine es nuestro próximo paso. Ejecute el siguiente comando en su terminal.

ibmcloud plugin install code-engine -f

Resultado:

Looking up ‘code-engine’ from repository ‘IBM Cloud’...
Plug-in ‘code-engine[ce] 1.57.0’ found in repository ‘IBM Cloud’
Attempting to download the binary file...
74.08 MiB / 74.08 MiB [============================================] 100.00% 1s
77680050 bytes downloaded
Installing binary...
OK
Plug-in ‘code-engine 1.57.0’ was successfully installed into /your/path/to/code-engine. Use ‘ibmcloud plugin show code-engine’ to show its details.

¡Genial! Ahora, vamos a seleccionar un proyecto dentro de Code Engine. Primero, muestre la lista de proyectos ejecutando ibmcloud ce project list.

Resultado:

Getting projects...
OK

Name ID Status Enabled Selected Tags Region Resource Group Age
ce-itz-wxo-69305f32086a49ee3736ff 8991a30c-944f-422d-9e00-00789043e90e active true false us-south itz-wxo-69305f32086a49ee3736ff 7m32s

Un proyecto de Code Engine agrupa entidades como aplicaciones, trabajos y compilaciones. Sirve como unidad para gestionar los recursos y gobernar el acceso a esas entidades. Si no tiene ningún proyecto activo en Code Engine, ejecute ibmcloud ce project create --name PROJECT_NAME  y sustituya CE_PROJECT_NAME  por cualquier nombre de proyecto que prefieras (por ejemplo, "code-engine-project").

Para dirigirse al proyecto específico, ejecute ibmcloud ce project select --name CE_PROJECT_NAME. En este ejemplo, el comando sería ibmcloud ce project select --name ce-itz-wxo-69305f32086a49ee3736ff.

Resultado:

Selecting project ‘ce-itz-wxo-69305f32086a49ee3736ff’...
OK

Nota: Si se produce un error aquí, asegúrese de haber seleccionado el entorno correcto con ibmcloud target -c ACCOUNT_ID -r REGION_NAME -g RESOURCE_GROUP_NAME.

Paso 3. Configure Langflow con la CLI de Code Engine

Para utilizar Langflow mientras se utiliza la CLI de Code Engine, ejecute el siguiente comando.

ibmcloud ce app create \
--name langflow \
--image langflowai/langflow:latest \
--port 7860

Este comando puede ejecutarse durante varios minutos. No interfiera y deje que funcione.

Resultado:

Creating application ‘langflow’...
Configuration ‘langflow’ is waiting for a Revision to become ready.
Ingress has not yet been reconciled.
Waiting for load balancer to be ready.
Run ‘ibmcloud ce application get -n langflow’ to check the application status.
OK

https://langflow.23h82g3y09cp.us-south.codeengine.appdomain.cloud

Paso 4. Conecte wxO y active Langflow

A medida que se ejecuta el comando Langflow set up, podemos añadir un entorno para interactuar con nuestra máquina local y nuestra solución alojada SaaS.

En una nueva ventana de terminal, active un entorno virtual en el directorio que haya elegido. Puede cambiar my-env a cualquier nombre de entorno que prefiera.

python -m venv my-env

Active el entorno virtual con el siguiente comando y sustituya my-env  por el nombre de su entorno si ha usado otro:

MacOS/Linux:

source my-env/bin/activate

Windows:

my-env\Scripts\activate

Ahora, en su navegador preferido, acceda a su lista de recursos de IBM Cloud, amplíe el desplegable de IA/Machine Learning y seleccione el recurso activo wxO. Su nombre debería parecerse a "Watson Orchestrate-itz", por ejemplo. A continuación, copie la URL que aparece en la ventana Credenciales. Mantenga esta página abierta en su navegador, ya que la necesitará en breve. En el siguiente comando, reemplace YOUR_WXO_RESOURCE_URL  con la URL recuperada y ejecute el comando en el entorno virtual activado en su terminal.

orchestrate env add \
-n langflow \
-u YOUR_WXO_RESOURCE_URL \
--type ibm_iam \
--activate

Resultado:

[INFO] - Environment ‘langflow’ has been created
Please enter WXO API key:

Cuando se solicite la clave de la API de wxO, vuelva a la página de recursos que está abierta en su navegador. No realice la entrada de la clave de API que se encuentra encima de la URL que ha copiado. En su lugar, haga clic en el botón Lanzar Watsonx Orchestrate. Luego, haga clic en el icono circular con sus iniciales en la esquina superior derecha de la pantalla y abra la Configuración. Seleccione la pestaña de detalles de la API y haga clic en el botón Generar clave de API. A continuación, introduzca cualquier nombre y descripción para su clave API y seleccione "Desactivar la clave filtrada" en la sección "Acción filtrada". Lo más importante es seleccionar "Sí" en la sección "Gestión de sesiones" para habilitar la gestión de sesiones para los inicios de sesión de la CLI y hacer clic en "Crear". Su clave API debería aparecer. Copie y pegue la clave en el terminal que estaba utilizando hace unos momentos para satisfacer la solicitud de introducir la clave API de wxO.

Resultado:

[INFO] - Environment ‘langflow’ is now active

¡Genial! Langflow ya está activo.

Paso 5. Configurar los recursos de su Code Engine

Para establecer un entorno estable de Code Engine que no elimine nuestra aplicación Langflow tras un tiempo de espera fijo, abra su navegador de nuevo. Acceda a su resumen de contenedores IBM Cloud. Debería ver aparecer su proyecto de Code Engine tal y como se ha creado recientemente. Abra el proyecto. A continuación, abra su aplicación de Langflow. En la pestaña Configuración, abra el componente Recursos y escalado. El único cambio que necesitamos hacer aquí es aumentar el número mínimo de instancias de 0 a 1. Por último, haga clic en el botón Implementar para aplicar esta revisión de configuración.

Una vez completado este paso, haga clic en el botón de Probar la aplicación y luego en el hipervínculo URL de la Aplicación. Esta acción abrirá nuestra instancia IBM Cloud de Langflow.

Personalización de configuraciones de Code Engine

Paso 6. Construya su flujo

Hay muchas formas de construir un flujo de Langflow. Puede usar plantillas prediseñadas o crear la suya propia desde cero. En este tutorial, exploraremos esto último. Para empezar, haga clic en + Blank Flow. Este ejemplo demuestra un flujo que puede crear, pero no dude en explorar la gran cantidad de componentes e integraciones integrados en Langflow.

  1. Añada los siguientes nodos de componentes integrados desde el menú:
  • Entrada de chat - Recibe la entrada del usuario del chat.

  • Output del chat: devuelve el output del flujo al usuario del chat.

  • Agente: utiliza una Integración de modelos de lenguaje de gran tamaño (LLM) para responder a la entrada del usuario y puede conectarse a varias herramientas.2

  • MCP Tools: se conecta a un servidor de Model Context Protocol (MCP) y expone las funciones del servidor MCP como herramientas que los agentes pueden utilizar para responder a la entrada.2

  • IBM watsonx.ai - Proporciona acceso a los modelos para generación de texto de IBM watsonx.ai. 3

  • Búsqueda de noticias: extrae el contenido de Google News y produce un marco de datos estructurado que contiene el título, el enlace, la fecha de publicación y el resumen de cada artículo.4

  • arXiv - Busca artículos relevantes en arXiv.org y muestra los resultados en formato DataFrame. 5

    Por último, seleccione + Nuevo componente personalizado en la parte inferior del menú.

    Para facilitar la visualización, organice su flujo de la siguiente manera.

Captura de pantalla de Final Langflow

2.    Conecte el componente de Entrada de chat al campo "Entrada" del componente Agente.

3.    Conecte el componente Output de chat al campo "Respuesta" del componente Agente.

4.    En el componente Agente, configure el “Proveedor de modelo” en “Personalizado” en el menú desplegable. Dependiendo de la versión de Langflow que esté utilizando, es posible que vea "Conectar otros modelos" en su lugar. Cualquiera de las dos opciones es aceptable.

5.    En el componente IBM watsonx.ai, seleccione el endpoint de API de watsonx.ai adecuado para sus credenciales de API. A continuación, pegue el ID del proyecto watsonx.ai y la clave API en los campos correspondientes. A continuación, seleccione el nombre del modelo de lenguaje de gran tamaño que prefiera. En este tutorial, podemos seleccionar openai/gpt-oss-120b . Asegúrese de que el componente esté configurado en "Modelo de lenguaje" en lugar de "Respuesta del modelo". Esta configuración es importante porque queremos utilizar este modelo como modelo de lenguaje para nuestro agente. Por tanto, ahora podemos conectar el componente IBM watsonx.ai del campo “Modelo de lenguaje” al componente Agente.

  • Nota: Si prefiere usar variables globales en lugar de pegar directamente sus credenciales de API, haga clic en el icono de su perfil en la esquina superior derecha de la pantalla y seleccione Configuración. En la sección Variables globales, añada su WATSONX_PROJECT_ID y WATSONX_APIKEY para la conexión a watsonx.ai que generó como requisito previo para este tutorial. Una vez que vuelva a su flujo, debería ver un icono de globo terráqueo en los campos de texto "ID del proyecto watsonx.ai" y "Clave API". Haga clic en el icono y selecciona la tecla correspondiente en el desplegable.

6.    Habilite el modo Herramientas usando el interruptor para arXiv, Búsqueda de noticias y Componente personalizado. Verá que este conmutador aparece en el menú del encabezado haciendo clic en cualquier lugar de cada uno de estos componentes. Con este modo activado, ahora puede conectar estos componentes al campo "Herramientas" del componente Agente . Los componentes arXiv y News Search están configurados y listos para usarse. Ahora podemos centrarnos en configurar los demás componentes.

7. En el menú de cabecera del Componente Personalizado, seleccione <> Código. Aquí, podemos personalizar el comportamiento del componente editando el código Python que lo define.6 Como ejemplo sencillo, podemos crear una herramienta que devuelva la fecha de hoy, conocimiento que de otro modo sería inaccesible a un LLM. Reemplace el código estándar con el siguiente:

from langflow.custom.custom_component.component import Component
from langflow.io import MessageTextInput, Output
from langflow.schema.data import Data
from datetime import date

class CustomComponent(Component):
    display_name = “Date”
    description = “Returns today’s date.”
    documentation: str = “https://docs.langflow.org/components-custom-components”
    icon = “calendar-check”
    name = “CustomDateComponent”

    inputs = [] # No input needed

    outputs = [
        Output(display_name=”Today’s Date”, name=”output”, method=”build_output”),
    ]

def build_output(self) -> Data:
    today = date.today()
    data = Data(value=today)
    self.status = data
    return data

Adelante, guarde sius cambios. Ahora debería ver el componente con su nuevo nombre, descripción e icono.

8.     El número de herramientas que proporcione a su agente depende de usted. Sin embargo, recuerde no abrumar a su agente con demasiadas herramientas, ya que podría obstaculizar el rendimiento y la precisión. La última herramienta que habilitaremos es un servidor MCP. Puede conectarse a cualquier servidor que elija. En este tutorial, podemos conectarnos al servidor MCP de Alpha Vantage.7 El servidor oficial Alpha Vantage MCP facilita a los LLM y a los agentes la extracción de datos bursátiles pasados y en tiempo real mediante el protocolo de contexto del modelo. Para conectarse a este servidor, abra el menú desplegable "Servidor MCP" en el componente Herramientas MCP y haga clic en + Agregar servidor MCP. En la pestaña STDIO, proporcione cualquier nombre para su servidor, por ejemplo, “av_mcp”, y pegue el siguiente comando: uvx av-mcp YOUR_API_KEY . Para generar una clave API gratuita de Alpha Vantage, visite la web oficial de Alpha Vantage y péguela en el comando, reemplazando el marcador de posición YOUR_API_KEY. Una vez que añada el servidor, active la opción Modo Herramientas en el menú de cabecera del nodo componente. Verá que aparece una amplia lista de herramientas como "Acciones". Este resultado significa que su conexión al servidor MCP es exitosa. Ahora puede conectar este último componente al campo "Herramientas" del componente Agente .

Adición del servidor MCP Alpha Vantage

¡Buen trabajo! Su flujo está completo y debería parecerse a la siguiente captura de pantalla.

Captura de pantalla de Final Langflow

Para comprobar que la línea de investigación funciona como se espera, abra el Playground y hable con su agente recién creado. Haga al agente preguntas que requieran una invocación de una de las herramientas conectadas. Algunos ejemplos de valores de entrada incluyen:

  • Simple:
    • "¿Cuál es la fecha de hoy?"
    • "Búscame cinco artículos de investigación sobre computación cuántica".
  • Moderado:
    • "Analiza el precio de las acciones de IBM en los últimos 30 días".
  • Complejo:
    • "¿Hay alguna noticia reciente que indique que las acciones de IBM son alcistas o bajistas?"

Debería ver cómo el agente invoca sus herramientas disponibles y produce el output correcto. Si experimenta algún problema en esta fase, vuelva a su flujo y asegúrese de que sus credenciales son correctas y de que ha seguido cada uno de los pasos.

Paso 7. Importe su flujo a wxO como servidor MCP

Una forma de conectar este flujo a watsonx Orchestrate es como un servidor MCP. Haga clic en el menú desplegable Compartir de la esquina superior derecha y seleccione "Servidor MCP". Haga clic en la pestaña "JSON". Debería ver un código similar a este ejemplo:

{
    “mcpServers”: {
    “lf-starter_project”: {
    “command”: “uvx”,
    “args”: [
        “mcp-proxy”,
        “https://langflow.23h82g3y09cp.us-south.codeengine.appdomain.cloud/api/v1/mcp/project/b797fbc9-cd21-46e9-bc23-8fa813f94810/sse”
            ]
        }    
    }    
}

Copie la URL en su fragmento JSON. Tenga en cuenta que será diferente del ejemplo anterior. Regrese a su terminal y pegue la URL de su servidor MCP en lugar del marcador de posición MCP_SERVER_URL. Al ejecutar el siguiente comando en la CLI de watsonx Orchestrate, podemos importar este servidor MCP a la plataforma como un kit de herramientas.

orchestrate toolkits add \
--kind mcp \
--name langflow_mcp \
--description “LangFlow MCP Server” \
--command “uvx mcp-proxy MCP_SERVER_URL” \
--tools “*”

Resultado:

[INFO] - Successfully imported tool kit langflow_mcp

Paso 8. Cree un agente y pruebe las llamadas a la herramienta

En su navegador, entre en watsonx Orchestrate y cree un nuevo agente desde cero. Introduzca cualquier nombre y descripción para su agente. Una vez creado, abra la pestaña Conjunto de herramientas y haga clic en el botón Añadir herramienta. Desde allí, seleccione importar herramientas desde un servidor MCP. Desde el desplegable Select MCP server, seleccione el servidor que importamos, active las herramientas desactivando la activación y cierre la ventana. A continuación, haga clic en Implementar. Una vez implementado, puede chatear con su agente en la ventana de Vista previa o en la interfaz de chat que se encuentra en el menú de la página plegada.

¡Hagamos una consulta a nuestro agente! Por ejemplo, "Encuentra 5 artículos de investigación sobre computación cuántica".

Output del paper de investigación

¡Genial! El chatbot agéntico se comporta como se esperaba, no solo genera la respuesta correcta, sino que también invoca la herramienta arXiv correcta. No dude en experimentar con diferentes instrucciones.

Pasos: Enfoque ADK (local)

Con este enfoque, no se requiere Code Engine. Este enfoque configura un entorno de desarrollo local mediante el SDK de watsonx Orchestrate Developer Edition, una versión ligera de watsonx Orchestrate que funciona como un servidor de desarrollo local.

Requisitos previos

  • Especificaciones de la máquina:
    • 16 GB de RAM
    • 8 núcleos
    • 25 GB de espacio en disco

Paso 1. Instale el SDK de la Developer Edition de wxO

Antes de empezar a construir localmente con Langflow, instale la Developer Edition del ADK de wxO. Tenga en cuenta que esta Developer Edition no era necesaria para el primer enfoque de este tutorial.

  1. En su IDE preferido, configure su entorno. Cree una carpeta llamada wxo-langflow-agent  para almacenar todos los agentes y herramientas. Puede encontrar este proyecto en Github para usarlo como referencia. La estructura de carpetas debe ser:

    wxo-langflow-agent/
    ├── .env
    ├── tools/
    └── agents/
    

2.  Abra el terminal y active un entorno virtual. Puede cambiar my-env por cualquier nombre de entorno que prefiera.

python -m venv my-env

Active el entorno virtual con el siguiente comando y sustituya my-env  por el nombre de su entorno si ha usado otro:

MacOS/Linux:

source my-env/bin/activate

Windows:

my-env\Scripts\activate

3.  En el archivo .env, defina las siguientes variables de entorno. Para obtener más información, consulte la guía de configuración.

WO_DEVELOPER_EDITION_SOURCE=orchestrate
WO_INSTANCE=<service_instance_url>
WO_API_KEY=<wxo_api_key>

4.  Ejecute el siguiente comando para instalar el servidor watsonx Orchestrate Developer Edition. No necesitamos instalar Langflow porque está incluido en la ADK Developer Edition. El indicador de comando --with-langflow permite el soporte de Langflow al extraer las imágenes del contenedor necesarias y realizar la configuración inicial para que Langflow sea accesible localmente.

orchestrate server start -e <path-.env-file> --with-langflow

Este comando puede durar varios minutos si es la primera vez que activa un servidor.

Solución de problemas: si instaló watsonx Orchestrate Developer Edition antes de la versión 2.0 de ADK en el pasado y experimenta errores al iniciar contenedores, ejecute:

orchestrate server reset
orchestrate server purge
pip install --upgrade ibm-watsonx-orchestrate

El final de su output debería parecerse al siguiente ejemplo.

Resultado:

[INFO] - Migration ran successfully.
[INFO] - Waiting for orchestrate server to be fully initialized and ready...
[INFO] - Orchestrate services initialized successfully
[INFO] - no local tenant found. A default tenant is created
[INFO] - You can run `orchestrate env activate local` to set your environment or `orchestrate chat start` to start the UI service and begin chatting.
[INFO] - Langflow has been enabled, the Langflow UI is available at http://localhost:7861

Paso 2. Active la IU de chat local de wxO

  1. El ADK de watsonx Orchestrate define los entornos como las instancias de watsonx Orchestrate a las que puede conectarse. Su entorno será una instancia de Developer Edition que se ejecutará en su ordenador portátil. Puede usar el comando orchestrate env list para ennumerar todos los entornos disponibles actualmente para su CLI. Por defecto, tiene uno local . Puede ejecutar el siguiente comando para activar el entorno local.

    orchestrate env activate local
    

    Resultado:

    [INFO] - local tenant found
    [INFO] - Environment 'local' is now active
    
  2. A continuación, ejecute este comando para iniciar la IU de chat en su navegador predeterminado.

    orchestrate chat start
    

    Resultado:

    [INFO] - Chat UI Service started successfully.
    [INFO] - Waiting for UI component to be initialized...
    [INFO] - Opening chat interface at http://localhost:3000/chat-lite
    

Paso 3. Cree un flujo Langflow

El editor Langflow está disponible a través de watsonx Orchestrate Developer Edition en el puerto 7861, como se puede ver en el output anterior.

  1. En su navegador web, acceda a http://localhost:7861.
  2. Construya su flujo. Podemos reutilizar el flujo que se ha creado en la primera parte de este tutorial o usted puede crear el suyo propio. Puede que le resulte útil más adelante en este tutorial dar a su flujo un nombre y una descripción personalizados en lugar de los predeterminados. Puede hacerlo pasando el cursor sobre el nombre del flujo en la parte superior de la pantalla y haciendo clic en el icono del lápiz.
  • Ejemplo de nombre de flujo: agente de investigación
  • Ejemplo de descripción del flujo: acceso a la búsqueda de noticias, arXiv, la fecha de hoy y la API Alpha Vantage.

Paso 4. Importe el flujo a wxO

Podemos explorar dos opciones para importar flujos de Langflow a nuestro servidor local de watsonx Orchestrate:

a) Importar el flujo como un servidor MCP local.

b) Importar el flujo como JSON.

Opción 1: Importar como servidor MCP local

Este paso se parece al paso 7 de la primera mitad de este tutorial, con algunos pequeños cambios. 

  1. Haga clic en el desplegable Compartir en la esquina superior derecha de su Langflow y seleccione "MCP Server". Haga clic en la pestaña "JSON". Debería ver un código similar al siguiente ejemplo:

    {
        "mcpServers": {
            "lf-starter_project": {
            "command": "uvx",
            "args": [
                "mcp-proxy",
                "http://localhost:7861/api/v1/mcp/project/41c9434f-67bf-439e-8dac-b7bb09b1d1ca/sse"
                ]
            }
        }
    }
    
  2. Copie la URL en su fragmento JSON. Tenga en cuenta que será diferente del ejemplo anterior. Vuelva a su terminal y pegue el siguiente comando utilizando su URL en lugar del siguiente ejemplo. A diferencia del comando que ejecutábamos al usar IBM Cloud, aquí debe reemplazar localhost por host.docker.internal. He aquí un ejemplo:

    orchestrate toolkits add \
        --kind mcp \
        --name langflow_research_mcp \
        --description "LangFlow MCP Server" \
        --command "uvx mcp-proxy http://host.docker.internal:7861/api/v1/mcp/project/41c9434f-67bf-439e-8dac-b7bb09b1d1ca/sse" \
        --tools "*"
    

    Resultado:

    [INFO] - Successfully imported tool kit langflow_research_mcp
    
  3. En la instancia local de watsonx Orchestrate que se ejecuta en su navegador, haga clic en "Crear nuevo agente" e introduzca un nombre y una descripción para su nuevo agente. A continuación, haga clic en el botón Crear .

Captura de pantalla de watsonx Orchestrate ejecutando "Crear agente localmente"

4.    En la pestaña Toolset, haga clic en el botón Añadir herramienta. Seleccione "instancia local" para añadir nuestro servidor MCP ya importado, marque la casilla correspondiente al servidor MCP importado y haga clic en Añadir al agente.

Captura de pantalla que muestra cómo añadir un servidor MCP como herramienta

5.    ¡Empiece a chatear!

Chat de agente con servidor MCP como herramienta

Opción 2: Importar como JSON

Como alternativa a la importación de flujos como servidores MCP, podemos utilizar el ADK para importar flujos como archivos JSON exportados.

1. Este enfoque funciona mejor para flujos simples. A modo de demostración, utilicemos este flujo:

Herramienta arXiv en Langflow

Exporte el flujo a JSON haciendo clic en el botón Compartir y seleccionando Exportar. Introduzca el nombre y la descripción de la herramienta o el flujo que desee. El nombre de la herramienta solo debe contener caracteres alfanuméricos y guiones bajos, y no debe empezar por un número ni por un guión bajo.

2.  Añada el archivo JSON recién exportado a la carpeta tools

3.  Ejecute el siguiente comando para importar su flujo a watsonx Orchestrate.

orchestrate tools import -k langflow -f tools/arxiv.json

4.  Después de importar el flujo de Langflow como herramienta, el próximo paso es conectarlo a un sistema de agentes. Puede realizar este paso creando un nuevo agente en la IU de watsonx Orchestrate o copiando la siguiente definición de agente a un nuevo archivo arxiv_agent.yml  en su carpeta agents.

kind: native
name: arxiv_agent
display_name: ArXiv Agent
description: Access to arXiv tool.
context_access_enabled: true
context_variables: []
llm: watsonx/ibm/granite-4-h-small
style: default
instructions: ‘’
guidelines: []
collaborators: []
tools:
- arxiv
knowledge_base: []
spec_version: v1

Ahora, importe el agente simple ejecutando:

orchestrate agents import -f agents/arxiv_agent.yml

5.  Actualice el navegador de la IU de watsonx Orchestrate que se ejecuta localmente para ver reflejados los cambios. En el menú desplegable Agentes, seleccione "Agente de ArXiv" y formule preguntas que requieran el uso de la herramienta arXiv.

Ejemplo de instrucción: “Búscame 5 artículos de investigación sobre computación cuántica”.

Resultado:

Chatee con un agente local de arXiv

¡Genial! El agente determinó que era necesario invocar la herramienta arxiv para esta consulta de usuario. La salida de la herramienta se muestra en el flujo de razonamiento colapsado y en la ventana de chat como respuesta.

Conclusión

Este tutorial le ha proporcionado las habilidades esenciales para aprovechar Langflow y watsonx Orchestrate para construir agentes robustos, escalables y listos para la empresa. Ha aprendido a importar flujos LangFlow agénticos como servidores MCP utilizando watsonx Orchestrate como software como servicio (SaaS) junto con IBM Cloud. Además, ya sabe cómo importar flujos básicos de LangFlow usando localmente el IBM Watsonx Orchestrate Agent Development Kit (ADK). Siguiendo las instrucciones paso a paso, ha aprendido a diseñar, desarrollar e implementar agentes que invocan herramientas personalizadas y prediseñadas para resolver las consultas de los usuarios. Con la interfaz visual intuitiva de Langflow, ha creado intrincados flujos de trabajo y watsonx Orchestrate le ha permitido gestionar y escalar estos agentes de manera eficiente. Como próximo paso, aplique los conocimientos adquiridos en este tutorial trabajando en un caso de uso del mundo real. Elija un problema o proceso empresarial específico dentro de su organización que podría beneficiarse de la automatización y diseñe una solución basada en Langflow y watsonx Orchestrate para abordarlo. Esta experiencia práctica consolidará su comprensión y le ayudará a identificar áreas de mejora o exploración adicional.

Si tiene problemas o preguntas, consulte la documentación. Los problemas más comunes se tratan en la guía de solución de problemas. También puede revisar los problemas de GitHub para ver si otros han experimentado problemas similares.

Autor

Anna Gutowska

AI Engineer, Developer Advocate

IBM

Soluciones relacionadas
Desarrollo de agentes de IA de IBM 

Permita a los desarrolladores crear, implementar y monitorizar agentes de IA con el estudio IBM watsonx.ai.

 

Explore watsonx.ai
Soluciones de inteligencia artificial

Ponga la IA a trabajar en su negocio con la experiencia líder en IA del sector de IBM y junto a su cartera de soluciones.

Explore las soluciones de IA
Consultoría y servicios de IA

Reinvente las operaciones y flujos de trabajo críticos añadiendo IA para maximizar las experiencias, la toma de decisiones en tiempo real y el valor empresarial.

Explore los servicios de IA
Dé el siguiente paso

Tanto si opta por personalizar las aplicaciones y habilidades prediseñadas como si prefiere crear e implementar servicios agentivos personalizados mediante un estudio de IA, la plataforma IBM watsonx le ofrece todo lo que necesita.

  1. Explore watsonx Orchestrate
  2. Explore watsonx.ai
Notas a pie de página

1 Satyadhar Joshi. “Review of Autonomous Systems and Collaborative AI Agent Frameworks.” International Journal of Science and Research Archive. Vol. 14, núm. 2. 28 de febrero de 2025, págs. 961–972. https://ijsra.net/content/review-autonomous-systems-and-collaborative-ai-agent-frameworks.

2 “Agents | Langflow Documentation.” Langflow.org. 2025. docs.langflow.org/components-agents.

3 “IBM | Langflow Documentation.” Langflow.org. 2025. docs.langflow.org/bundles-ibm.

4 “Data | Langflow Documentation.” Langflow.org. 2025. docs.langflow.org/components-data.

5 “ArXiv | Langflow Documentation.” Langflow.org. 2025. docs.langflow.org/bundles-arxiv.

6 “Components Overview | Langflow Documentation.” Langflow.org. 2025. docs.langflow.org/concepts-components.

7 “Alpha Vantage MCP for Stock Market Data.” Alphavantage.co. 2025. mcp.alphavantage.co/.