Cree un agente de investigación personalizado con Langflow mediante watsonx Orchestrate ADK e IBM Cloud

Con el escenario en desarrollo de los agentes de IA, algunas empresas reportan reticencias con respecto a la adopción generalizada de estos agentes autónomos.1 Algunos desafíos incluyen gobernanza, ética, colaboración humano-IA, despliegue y escalabilidad. Sin embargo, crear agentes de IA confiables no tiene por qué ser complejo. Con IBM watsonx Orchestrate, estas preocupaciones se pueden mitigar de forma integral en un solo lugar. En este tutorial, aprenderá a usar Langflow y watsonx Orchestrate para crear agentes confiables y escalables listos para la empresa.

¿Qué es Langflow?

Langflow es un marco de código abierto basado en Python para construir agentes de IA y otras aplicaciones de IA. Langflow se construyó originalmente sobre LangChain, su marco principal. LangGraph, otra plataforma dentro de la misma familia, también se utiliza para construir sistemas agénticos mediante el uso de arquitecturas basadas en gráficos. 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 de código bajo o sin código, 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, exploramos cómo crear y desplegar agentes mediante:

  1. Importación de flujos agénticos LangFlow como servidores MCP mediante IBM® watsonx Orchestrate como software como servicio (SaaS) junto con IBM Cloud.
  2. Importación de flujos básicos LangFlow 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.

¡Comencemos!

Requisitos previos

Este tutorial requiere:

  • La última versión de Python instalada.
  • Una cuenta de IBM® Cloud para crear una ID de proyecto watsonx.ai y clave de API. Los planes de servicio Lite y Free están disponibles.
    • Puede obtener su ID de proyecto desde dentro de su proyecto. Haga clic en la pestaña Manage. Luego, copie el ID del proyecto de la sección Details 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 acceso de prueba en IBM Cloud.
  • IBM watsonx Orchestrate ADK instalado. Siga la documentación oficial aquí para configurar e instalar ADK.
    • Nota: Si instaló watsonx Orchestrate Developer Edition antes de ADK versión 2.0, primero elimine todos los contenedores ejecutando el reinicio del servidor de Orchestrate antes de actualizar. watsonx Orchestrate Developer Edition ya no depende de un motor de contenedor externo. Si no se restablece antes de la actualización, varias instalaciones de la aplicación pueden consumir recursos innecesarios del sistema y generar conflictos de puertos.
  • La CLI de IBM Cloud instalada. Los comandos de instalación para macOS, Linux y Windows se pueden encontrar en la guía de introducción.

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

Pasos: Enfoque de IBM Cloud

Paso 1. Configurar el entorno IBM Cloud

En su terminal, ejecute el siguiente comando. Recibirá una instrucción para iniciar sesión en su cuenta de IBM Cloud mediante 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 la marca --sso  para usar un ID de inicio de sesión único corporativo o empresarial. Para obtener más información sobre el registro con identificadores federados, consulte la documentación. En resumen, cuando se le da la instrucción, permita que la URL se abra en su navegador predeterminado y pegue el código único que aparece nuevamente en su terminal.

Sabrá que su inicio de sesión fue exitoso al ver resultados similares.

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 observa 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 la recuperación de sus grupos de recursos y producir resultados similares (los nombres e ID 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 la salida.

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. Instalar la CLI de IBM Cloud Code Engine

Con IBM® Cloud Code Engine, puede ejecutar prácticamente cualquier carga de trabajo en contenedores sin necesidad de gestionar servidores ni infraestructura. La plataforma admite desde microservicios y aplicaciones web hasta trabajos por lotes y funciones basadas en eventos. También ofrece la posibilidad de crear imágenes a partir del código fuente. Dado que todas las cargas de trabajo comparten el mismo entorno Kubernetes, se integran de forma natural. Code Engine está diseñado para que la infraestructura no estorbe y pueda concentrarse en crear aplicaciones. El siguiente paso es instalar la CLI de Code Engine. 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.

¡Excelente! Ahora, apuntemos a 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 regular el acceso a esas entidades. Si no tiene ningún proyecto de Code Engine activo, ejecute ibmcloud ce project create --name PROJECT_NAME y reemplace CE_PROJECT_NAME con cualquier nombre de proyecto de su elección (por ejemplo, “code-engine-project”).

Para apuntar 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 experimenta un error aquí, seleccione el entorno correcto con ibmcloud target -c ACCOUNT_ID -r REGION_NAME -g RESOURCE_GROUP_NAME .

Paso 3. Configurar Langflow con la CLI de Code Engine

Para usar Langflow mientras usa Code Engine CLI, 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 permita que se ejecute.

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. Conectar wxO y activar Langflow

A medida que se ejecuta el comando de configuración de Langflow, podemos agregar un entorno para interactuar con nuestra máquina local y solución alojada SaaS.

En una nueva ventana de terminal, active un entorno virtual en el directorio elegido. Puede cambiar my-env  a cualquier nombre de entorno de su elección.

python -m venv my-env

Active el entorno virtual con el siguiente comando y reemplace my-env  con el nombre de su entorno si utilizó uno diferente:

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 menú desplegable de IA/Machine learning y seleccione el recurso activo wxO. Su nombre debe parecerse a “Watson Orchestrate-itz”, por ejemplo, y luego debe copiar la URL que se encuentra 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 le pida la clave de API de wxO, regrese a la página de Recursos que está abierta en su navegador. No ingrese la clave de API situada encima de la URL que copió. En su lugar, haga clic en el botón Iniciar watsonx Orchestrate. Luego, haga clic en el icono circular con sus iniciales en la esquina superior derecha de la pantalla y abra Configuración. Seleccione la pestaña Detalles de API y haga clic en el botón Generar clave de API. A continuación, ingrese cualquier nombre y descripción para su clave de API y seleccione “Deshabilitar la clave filtrada” en la sección “Acción filtrada”. Lo más importante es que seleccione “Sí” en la sección “Gestión de sesiones” para habilitar la gestión de sesiones para los inicios de sesión de CLI y haga clic en “Crear”. Debería aparecer su clave de API. Copie y pegue la clave en el terminal que estaba usando hace unos momentos para satisfacer la solicitud de ingresar la clave de API de wxO.

Resultado:

[INFO] - Environment ‘langflow’ is now active

¡Excelente! Langflow ya está activo.

Paso 5. Configurar los recursos de Code Engine

Para lograr un entorno estable en Code Engine que no elimine nuestra aplicación Langflow luego de un periodo de espera fijo, abra su navegador una vez más. Acceda a su visión general de contenedores de IBM Cloud. Debería ver su proyecto de Code Engine tal como fue creado recientemente. Abra el proyecto. A continuación, abra la aplicación Langflow. En la pestaña Configuración, abra el componente Recursos y escalado. El único cambio que debemos realizar aquí es aumentar el número mínimo de instancias de 0 a 1. Finalmente, haga clic en el botón Desplegar para aplicar esta revisión de configuración.

Una vez que haya completado este paso, haga clic en el botón Probar aplicación y 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. Crear el flujo

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

  1. Agregue los siguientes nodos de componentes integrados desde el menú:
  • Entrada de chat: recibe la entrada del usuario del chat.

  • Salida del chat: devuelve la salida del flujo al usuario en el chat.

  • Agente: utiliza una integración de modelo de lenguaje grande (LLM) para responder a la entrada del usuario y se puede conectar a varias herramientas.2

  • Herramientas MCP: se conecta a un servidor del Model Context Protocol (MCP) y expone las funciones del servidor MCP como herramientas que los agentes pueden usar para responder a las entradas.2

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

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

  • arXiv: busca en ARXiv.org documentos relevantes y genera los resultados en un 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 Entrada de chat al campo “Entrada” del componente Agente.

3. Conecte el componente Salida de chat al campo “Respuesta” del componente Agente.

4. En el componente Agente, establezca 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. Luego, pegue el ID del proyecto watsonx.ai y la clave de API en los campos correspondientes. A continuación, seleccione el nombre del modelo de lenguaje grande 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 usar 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 campo del 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, agregue WATSONX_PROJECT_ID y WATSONX_APIKEY para su conexión watsonx.ai que generó como requisito previo para este tutorial. Una vez que regrese a su flujo, debería ver un icono de globo en los campos de texto “ID de proyecto watsonx.ai” y “Clave de API”. Haga clic en el icono y seleccione la clave adecuada del menú desplegable.

6. Habilite el modo de herramientas utilizando el interruptor para arXiv, Búsqueda de noticias y Componente personalizado. Verá que esta opción aparece en el menú del encabezado al hacer clic en cualquier lugar de cada uno de estos componentes. Con este modo habilitado, ahora puede conectar estos componentes al campo “Herramientas” del componente Agente. Los componentes de arXiv y Búsqueda de noticias están configurados y listos para usarse. Ahora podemos centrarnos en configurar los otros componentes.

7. En el menú de encabezado 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 el conocimiento de hoy, 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

Continúe y guarde sus cambios. Ahora debería ver el componente que refleja su nuevo nombre, descripción e icono.

8. La cantidad 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 extraer datos de existencias pasadas y en tiempo real mediante el MCP. Para conectarse a este servidor, abra el menú desplegable “Servidor MCP” en su 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 de API gratis de Alpha Vantage, visite el sitio web oficial de Alpha Vantage y péguela en el comando, reemplazando el marcador de posición YOUR_API_KEY . Una vez que agregue el servidor, active el interruptor Modo de herramientas en el menú de encabezado del nodo componente. Verá que aparece una amplia lista de herramientas como “Acciones”. Este resultado significa que su conexión con el servidor MCP es exitosa. Ahora puede conectar este componente final al campo “Herramientas” del componente Agente.

Agregar el servidor Alpha Vantage MCP

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

Captura de pantalla de Final Langflow

Para verificar que el pipeline de investigación esté funcionando como se esperaba, abra el Playground y chatee con su agente recién creado. Haga preguntas al agente que requieran una invocación de una de las herramientas conectadas. Algunos ejemplos de valores de entrada incluyen:

  • Sencillos:
    • “¿Cuál es la fecha de hoy?”
    • “Encuéntrame 5 trabajos de investigación sobre computación cuántica”.
  • Moderados:
    • “Analiza el precio de las acciones de IBM en los últimos 30 días”.
  • Complejos:
    • “¿Hay alguna noticia reciente que indique que las acciones de IBM están al alza o a la baja?”

Debería ver que el agente invoca sus herramientas disponibles y produce el resultado correcto. Si experimenta algún problema en esta etapa, vuelva a su flujo y verifique que sus credenciales sean correctas y de que siguió todos los pasos.

Paso 7. Importar el 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 en 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 diferirá del ejemplo anterior. Vuelva a su terminal y pegue la URL del servidor MCP en lugar del marcador de posición MCP_SERVER_URL . La ejecución del siguiente comando en la CLI de watsonx Orchestrate nos permite 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. Crear un agente y probar las llamadas a la herramienta

En su navegador, diríjase a watsonx Orchestrate y cree un nuevo agente desde cero. Ingrese 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 Agregar herramienta. Desde allí, seleccione Importar herramientas desde un servidor MCP. En el menú desplegable Seleccionar servidor MCP, seleccione el servidor que importamos, active las herramientas alternando la activación y cierre la ventana. A continuación, haga clic en Desplegar. Una vez desplegado, puede chatear con su agente en la ventana Vista previa del chat o en la interfaz de chat que se encuentra en el menú de la página contraída.

¡Hagamos una consulta a nuestro agente! Por ejemplo, “Encuentra 5 trabajos de investigación sobre computación cuántica”.

Resultado de la consulta del trabajo de investigación

¡Excelente! El chatbot agéntico se comporta como se esperaba no solo al dar resultados correctos, sino también al invocar la herramienta arXiv correcta. Siéntase libre de 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 uso de SDK watsonx Orchestrate Developer Edition SDK, 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. Instalar wxO Developer Edition SDK

Antes de comenzar a construir localmente con Langflow, instale Developer Edition del wxO ADK. 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. Crea 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
    ├── herramientas/
    └── agentes/
    

2. Abra el terminal y active un entorno virtual. Puede cambiar my-env  para que sea cualquier nombre de entorno de su elección.

python -m venv my-env

Active el entorno virtual con el siguiente comando y reemplace my-env  con el nombre de su entorno si utilizó uno diferente:

MacOS/Linux:

source my-env/bin/activate

Windows:

my-env\Scripts\activate

3. En el archivo.env, establezca 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 se incluye como parte de ADK Developer Edition. El indicador de comando --with-langflow  la compatibilidad con Langflow extrayendo las imágenes de contenedor necesarias y realizando la configuración inicial para que Langflow sea accesible localmente.

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

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

Resolución de problemas: Si instaló watsonx Orchestrate Developer Edition antes de la versión 2.0 de ADK y experimentó errores al iniciar contenedores, ejecute:

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

El final de su salida debe 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. Activar la interfaz de usuario (IU) de chat WxO local

  1. watsonx Orchestrate ADK 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 computadora portátil. Puede usar el comando orchestrate env list para enumerar todos los entornos actualmente disponibles para su CLI. De manera predeterminada, tiene uno local. Puede ejecutar el siguiente comando para activar el entorno local.

    orchestrate env activar local
    

    Resultado:

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

    inicio del chat con orchestrate
    

    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. Crear un flujo Langflow

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

  1. En su navegador web, vaya a http://localhost:7861.
  2. Cree su flujo. Podemos reutilizar el flujo que se creó en la primera parte de este tutorial o puede crear el 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 de 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. Importar 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 asemeja al paso 7 de la primera mitad de este tutorial con algunos cambios menores. 

  1. Haga clic en el menú desplegable Compartir en la esquina superior derecha de su Langflow y seleccione "Servidor MCP". 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 diferirá del ejemplo anterior. Regrese a su terminal y pegue el siguiente comando usando 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. Este es 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 ingrese un nombre y una descripción para su nuevo agente. A continuación, haga clic en el botón Crear .

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

4. En la pestaña Conjunto de herramientas, haga clic en el botón Agregar herramienta. Seleccione “instancia local” para agregar nuestro servidor MCP ya importado, marque la casilla correspondiente al servidor MCP importado y haga clic en Agregar al agente.

Captura de pantalla que muestra cómo agregar 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 usar ADK para importar flujos como archivos JSON exportados.

1. Este enfoque funciona mejor para flujos simples. Para fines demostrativos, usemos este flujo:

Herramienta arXiv en Langflow

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

2. Agregue 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 siguiente 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 en 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 nuestros 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: “Encuéntrame 5 trabajos de investigación sobre computación cuántica”.

Resultado:

Chatee con el agente local de arXiv

¡Excelente! El agente determinó que era necesario invocar la herramienta arxiv  para esta consulta de usuario. El resultado de la herramienta se muestra en el flujo de razonamiento contraído y en la ventana de chat como respuesta.

Conclusión

Este tutorial lo ha equipado con las habilidades esenciales para aprovechar Langflow y watsonx Orchestrate para construir agentes robustos, escalables y listos para la empresa. Aprendió a importar flujos LangFlow agénticos como servidores MCP mediante watsonx Orchestrate como software como servicio (SaaS) junto con IBM Cloud. Además, ahora está familiarizado con cómo importar flujos LangFlow básicos cuando utiliza IBM watsonx Orchestrate Agent Development Kit (ADK) localmente. Al seguir las instrucciones paso a paso, ha aprendido a diseñar, desarrollar y desplegar agentes que invoquen herramientas personalizadas y prediseñadas para resolver las consultas de los usuarios. Con la interfaz visual intuitiva de Langflow, creó flujos de trabajo complejos y watsonx Orchestrate le permitió gestionar y escalar estos agentes de manera eficiente. Como siguiente 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 para mejorar o explorar más.

Si tiene problemas o preguntas, consulte la documentación. Los problemas más comunes se tratan en la guía de resolución de problemas. También puede revisar los problemas de GitHub para ver si otras personas 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, desplegar y monitorear 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 en IA líder en la industria y la cartera de soluciones de IBM a su lado.

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

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

Conozca los servicios de IA
Dé el siguiente paso

Ya sea que elija personalizar aplicaciones y habilidades predefinidas o crear y desplegar servicios agénticos personalizados utilizando un estudio de IA, la plataforma IBM watsonx responde a sus necesidades.

  1. Explore watsonx Orchestrate
  2. Explore watsonx.ai
Notas de 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, no. 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/.