Construye agentes y flujos de IA arrastrando componentes sin perder el control del codigo
Langflow es una plataforma de codigo abierto (150K estrellas en GitHub) para construir y desplegar agentes y flujos de IA mediante un editor visual. En este curso aprenderas desde la instalacion hasta el despliegue en produccion, pasando por RAG, multi-agentes y MCP Server.
Langflow es una plataforma open-source (MIT) que permite construir flujos de IA de forma visual. En lugar de escribir cientos de lineas de codigo para conectar un LLM con una base de datos vectorial y un agente, arrastras componentes en un canvas y los conectas como piezas de Lego.
Langflow se compone de tres capas principales:
| Capa | Funcion | Tecnologia |
|---|---|---|
| Frontend | Canvas visual drag and drop | React + React Flow |
| Backend | Motor de ejecucion de flujos | Python (FastAPI) |
| Componentes | Nodos funcionales (LLMs, tools, agents, etc.) | Python + Pydantic |
Langflow no compite con LangChain ni LlamaIndex los usa como backend. Es una interfaz visual sobre ese ecosistema, ideal para prototipado rapido y equipos donde no todo el mundo es experto en Python.
Langflow se instala como paquete Python. El metodo recomendado usa uv, el gestor de paquetes ultra rapido de Astral.
# Instala uv si no lo tienes
curl -LsSf https://astral.sh/uv/install.sh | sh
# Crea un directorio para Langflow y entras
mkdir langflow-project && cd langflow-project
# Instala Langflow
uv pip install langflow -U
docker run -p 7860:7860 langflowai/langflow:latest
$ uv run langflow run
Starting Langflow...
Server running at: http://127.0.0.1:7860
Abre http://127.0.0.1:7860 en tu navegador. Veras el canvas vacio con la biblioteca de componentes a la izquierda.
Arrastra un nodo Chat Input desde la paleta, luego un Chat Output, y conectalos. Pulsa "Play" y escribe "Hola mundo". Si ves el eco, Langflow funciona.
Si ves ModuleNotFoundError al arrancar, asegurate de que usas Python 3.10-3.14 y que el virtualenv esta activo. Con uv, el entorno se gestiona automaticamente.
El corazon de Langflow es su editor visual basado en React Flow. Cada componente es un nodo con entradas y salidas que se conectan mediante enlaces.
| Categoria | Componentes | Para que? |
|---|---|---|
| Inputs | Chat Input, Text Input, File Input | Punto de entrada de datos |
| Outputs | Chat Output, Text Output, File Output | Salida del flujo |
| LLMs | OpenAI, Anthropic, Ollama, Hugging Face | Modelos de lenguaje |
| Prompts | Prompt Template | Plantillas con variables |
| Agents | Agent, Tool Calling Agent | Agentes autonomos |
| Vector Stores | Astra DB, Pinecone, Chroma, Qdrant | Bases vectoriales |
| Tools | Calculator, Search, Custom Tool, MCP Tool | Herramientas para agentes |
| Embeddings | OpenAI Embeddings, Hugging Face Embeddings | Vectores de texto |
Conecta estos 4 componentes en orden:
Chat Input > Prompt Template > OpenAI > Chat Output
En el Prompt Template, escribe algo como:
Eres un asistente experto en tecnologia.
Responde a esta pregunta: {question}
Conecta la salida question del Chat Input al input question del Prompt Template. Pulsa Play y empieza a chatear.
Puedes hacer clic en cualquier nodo para ver su codigo Python. Langflow te muestra exactamente que codigo se ejecuta detras del nodo. Asi aprendes mientras construyes visualmente.
Langflow soporta todos los principales proveedores de LLMs. Puedes mezclar modelos de distintos proveedores en un mismo flujo.
# En el nodo OpenAI, configura:
API Key: sk-...tu-clave...
Model: gpt-4o (o gpt-4o-mini, gpt-4-turbo)
Temperature: 0.7
Max Tokens: 1000
# Requiere Ollama instalado localmente
# En el nodo Ollama:
Base URL: http://localhost:11434
Model: llama3.2
Temperature: 0.7
| Proveedor | Nodo | Modelos tipicos | Requiere API key? |
|---|---|---|---|
| OpenAI | OpenAI | GPT-4o, GPT-4o-mini, o1 | Si |
| Anthropic | Anthropic | Claude 3.5 Sonnet, Claude 3 Opus | Si |
| Ollama | Ollama | Llama 3, Mistral, Qwen2, DeepSeek | No (local) |
| Hugging Face | HuggingFace | Modelos del Hub | Opcional |
| Google Generative AI | Gemini Pro, Gemini Flash | Si | |
| Groq | Groq | Llama 3 70B, Mixtral | Si |
Crea dos flujos paralelos: uno con GPT-4o-mini y otro con Llama 3.2 (Ollama). Conecta el mismo Chat Input a ambos. Pregunta "Explica los agentes de IA en una frase". Comprueba las diferencias en estilo y profundidad.
Un agente en Langflow es un LLM que puede usar herramientas para completar tareas. En lugar de solo generar texto, el agente decide que herramienta llamar, procesa el resultado y da una respuesta final.
Componentes necesarios:
Chat Input > Tool Calling Agent > Chat Output
|
Calculator (tool)
Conecta la herramienta Calculator al agente. Pregunta: "Cuanto es 234 x 567?". El agente llamara a la calculadora, obtendra el resultado y te dara la respuesta.
| Herramienta | Funcion | Ejemplo de uso |
|---|---|---|
| Calculator | Operaciones matematicas | "Calcula el 15% de 3400" |
| Search (Web) | Busca en internet | "Ultima noticia de Langflow" |
| Python REPL | Ejecuta codigo Python | "Genera los primeros 10 numeros de Fibonacci" |
| Wikipedia | Consulta Wikipedia | "Quien fue Turing" |
| Custom Tool | Codigo Python propio | API propia, base de datos |
| MCP Tool | Herramientas MCP externas | Archivos, GitHub |
from typing import Any
def get_weather(city: str) -> dict:
"""Obtener el clima actual de una ciudad."""
# Tu logica aqui (ej: llamada a API de clima)
return {"city": city, "temp": 22, "condition": "soleado"}
Las Custom Tools aceptan cualquier codigo Python. Esto significa que puedes convertir cualquier funcion o API existente en una herramienta para tus agentes, sin salirte del canvas visual.
El patron RAG (Retrieval Augmented Generation) permite que tu agente responda preguntas sobre documentos que tu le proporcionas. Langflow lo hace trivial conectando 4 componentes.
File Input > Split Text > OpenAI Embeddings > Chroma Vector Store
|
Chat Input > Prompt Template < Chroma (retriever) < OpenAI Embeddings
|
Chat Output
Usa el nodo File Input para subir un PDF o TXT. Langflow lo leera automaticamente.
El nodo Split Text trocea el documento en chunks de ~500 tokens con solapamiento.
Conecta OpenAI Embeddings para convertir cada chunk en un vector numerico.
Chroma Vector Store guarda los vectores. Configuralo en modo "Ingest" para anadir datos.
Cambia Chroma a modo "Search". El Prompt Template recibe los fragmentos como contexto y la pregunta. Responde basandose en los documentos.
Si el vector store devuelve resultados vacios, verifica que los embeddings usen el mismo modelo tanto en la ingestion como en la busqueda. Mezclar OpenAI Embeddings con Hugging Face Embeddings no funciona.
Langflow permite crear flujos donde varios agentes colaboran para resolver tareas complejas. Cada agente tiene su propio rol, herramientas y memoria.
Chat Input
|
Supervisor Agent
/ | \
| | |
Worker_1 Worker_2 Worker_3
(investiga) (calcula) (escribe)
\ | /
| | |
Output Aggregator
|
Chat Output
Cada agente en Langflow necesita:
Para evitar que los agentes alucinen, se explicito en el system prompt. Ejemplo: "Eres el agente calculador. Solo usas Calculator. Si te piden investigacion, deriva al agente investigador."
Una de las funciones mas potentes de Langflow: cada flujo que construyes puede exponerse como una API REST en un solo clic. Esto permite integrar tus agentes en aplicaciones web, bots de Telegram, Slack, etc.
Crea un flujo con un nodo Chat Input (entrada) y Chat Output (salida). Todo lo que va en medio es la logica de tu API.
En la esquina superior derecha del canvas, haz clic en el boton "API". Langflow genera automaticamente un endpoint POST y un comando curl de ejemplo.
# Ejemplo de llamada curl generado por Langflow
curl -X POST http://localhost:7860/api/v1/run/abc-123 \
-H "Content-Type: application/json" \
-d '{
"input_value": "Que es Langflow?",
"output_type": "chat",
"input_type": "chat"
}'
{
"session_id": "abc-123",
"outputs": [{
"outputs": [{
"results": {
"message": {
"text": "Langflow es un visual builder..."
}
}
}]
}]
}
Para produccion, Langflow se despliega con Docker y un proxy reverso (Nginx). El contenedor oficial expone el puerto 7860 con FastAPI.
# docker-compose.yml
version: "3.8"
services:
langflow:
image: langflowai/langflow:latest
ports:
- "7860:7860"
environment:
- LANGFLOW_AUTO_LOGIN=true
- LANGFLOW_DATABASE_URL=postgresql://user:pass@db/langflow
volumes:
- langflow_data:/app/langflow
restart: unless-stopped
El Model Context Protocol (MCP) es un estandar abierto para que los asistentes de IA (Claude Code, Cursor, etc.) se conecten a herramientas externas. Langflow puede convertir cualquier flujo en un servidor MCP.
Tu flujo debe tener un Chat Input y Chat Output. Lo que ocurra entre ellos es la logica de la herramienta MCP.
# Exporta el flujo como JSON desde el boton "Download"
# Luego arranca el servidor MCP apuntando a ese archivo
$ uv run langflow run --mcp --flow /path/to/flow.json
MCP Server running at http://localhost:7860/mcp/v1/
// En tu claude_code_config.json:
{
"mcpServers": {
"langflow-search": {
"url": "http://localhost:7860/mcp/v1/"
}
}
}
Esta caracteristica convierte a Langflow en el puente perfecto entre el desarrollo visual y el ecosistema MCP. Disenas el flujo visualmente y lo expones como herramienta MCP.
Llevar un flujo de Langflow a produccion requiere atencion a la seguridad, el rendimiento y la monitorizacion.
Langflow se integra con plataformas de observabilidad para rastrear cada llamada a tu flujo:
| Plataforma | Que monitoriza | Configuracion |
|---|---|---|
| LangSmith | Traces, latencia, costes | Anadir LANGCHAIN_API_KEY |
| LangFuse | Traces, evaluaciones | Nodo LangFuse en el flujo |
| Grafana + Loki | Logs del contenedor | Stack de logging Docker |
Nunca hardcodees API keys en los flujos. Langflow soporta variables de entorno como OPENAI_API_KEY.
Exporta los flujos como JSON y guardalos en Git. Asi puedes revisar cambios y hacer rollback.
Para APIs en produccion, anade un proxy reverso (Nginx) con rate limiting.
Usa el Interactive Playground de Langflow para probar cada nodo individualmente. Ahorra horas de debugging.
No despliegues Langflow con LANGFLOW_AUTO_LOGIN=true en produccion real. Usa autenticacion real y HTTPS.
Si, Langflow es 100% open-source (licencia MIT). Tambien existe una version cloud gestionada con capa gratuita.
No es necesario para flujos basicos. El visual builder te permite crear flujos completos sin codigo. Para Custom Tools si necesitaras algo de Python.
Todos los principales: OpenAI, Anthropic, Google Gemini, Ollama (local), Hugging Face, Groq, Azure OpenAI, Amazon Bedrock, y mas.
Langflow usa LangChain internamente. LangChain es una biblioteca de Python; Langflow es una interfaz visual sobre ella. No compiten, se complementan.