Node-RED para automatización con IA
Qué cubre este artículo sobre Node-RED y automatización con IA
- Cómo instalar y configurar Node-RED para automatización con IA.
- Cómo conectar Node-RED con Ollama y utilizar modelos locales en flujos.
- Cómo implementar Function Calling, RAG y flujos de agentes en Node-RED.
- Ejemplos prácticos de clasificación de correos, resumen de documentos y notificaciones.
- Buenas prácticas en seguridad, rendimiento y mantenimiento.
Introducción: Node-RED para automatización con IA explicado de forma clara
Node-RED es una herramienta visual para automatización. Fue desarrollada originalmente por IBM para conectar dispositivos IoT y APIs. Hoy en día se utiliza para todo, desde Smart Home hasta integración empresarial. Con IA local, Node-RED se convierte en una plataforma potente para construir flujos de IA visualmente, sin necesidad de escribir código.
Este artículo está dirigido a usuarios que quieren ejecutar automatización con IA usando modelos locales y Node-RED como plataforma. Deberías entender qué es la IA local y cómo funciona Ollama. Encontrarás conceptos básicos de programación en IRC-Coding.de.
¿Por qué necesito Node-RED para automatización con IA?
Imagina que quieres clasificar automáticamente correos electrónicos, resumir documentos y enviar notificaciones, todo con IA local. Podrías escribir un script en Python, pero rápidamente se vuelve difícil de mantener. Node-RED te permite construir estos flujos visualmente: un nodo para recibir correos, otro para clasificación con IA, otro para ejecutar acciones.
Node-RED es especialmente útil cuando necesitas construir flujos con múltiples pasos, integrar diferentes APIs y que usuarios sin experiencia en programación puedan ajustar la lógica. La interfaz visual hace que los flujos sean comprensibles, y el editor de flujos permite experimentar rápidamente.
Node-RED para automatización con IA brevemente explicado
Node-RED es un editor de flujos basado en navegador donde conectas nodos mediante arrastrar y soltar. Cada nodo hace una cosa específica: recibir correos, enviar solicitudes HTTP, ejecutar JavaScript, llamar a IA. Para automatización con IA, conectas nodos de entrada (correo, webhook, programación) con nodos de IA (Ollama, OpenAI) y nodos de salida (correo, Slack, base de datos).
La idea central es simple: Node-RED es el puente visual entre entrada, IA y salida.
¿Para quién es este artículo?
- Automatizadores, que quieren integrar IA en flujos existentes.
- Usuarios que alojan su propia infraestructura, que necesitan IA local para automatización y buscan una interfaz visual.
- Desarrolladores, que quieren evaluar flujos visuales.
- Equipos, que desean construir flujos que incluso usuarios sin experiencia en programación puedan entender.
Es útil tener conocimientos previos en IA local, Ollama y programación básica en JavaScript.
Términos importantes sobre Node-RED e IA
- Node-RED - Editor visual de flujos para automatización. Cuándo es útil: cuando quieres construir flujos visualmente.
- Ollama - Servidor de modelos local. Cuándo es útil: como backend de IA para Node-RED.
- Node - Nodo individual en un flujo. Cuándo es útil: realiza una tarea específica, por ejemplo, una solicitud HTTP.
- Flow - Nodos conectados que forman un flujo de trabajo. Cuándo es útil: el script de automatización completo.
- Function Calling - Función de IA que devuelve datos estructurados. Cuándo es útil: para toma de decisiones impulsada por IA.
- RAG - Retrieval-Augmented Generation. Cuándo es útil: para enriquecer modelos con tus propios datos.
- Docker - Plataforma de contenedores. Cuándo es útil: para ejecutar Node-RED de forma aislada.
- Inject Node - Nodo que inicia un flujo manualmente o de forma programada. Cuándo es útil: para pruebas y automatización por horario.
Instalación de Node-RED
Con Docker
docker run -d \
--name nodered \
-p 1880:1880 \
-v nodered-data:/data \
--restart unless-stopped \
nodered/node-red
Después abre http://localhost:1880 en tu navegador.
Con npm
npm install -g node-red
node-red
Con Proxmox LXC
Si utilizas Proxmox VE, puedes instalar Node-RED en un contenedor LXC:
# En el contenedor LXC
npm install -g node-red
# Configurar como servicio
npm install -g pm2
pm2 start node-red
pm2 startup
pm2 save
Conectar Ollama con Node-RED
Preparar Ollama
Asegúrate de que Ollama está ejecutándose y tiene un modelo cargado:
ollama pull llama3.1
ollama serve
HTTP Request Node en Node-RED
Node-RED incluye un nodo HTTP Request que puedes usar para Ollama:
- Arrastra un nodo
injectal flujo. - Arrastra un nodo
functiony establece el payload:msg.payload = { model: "llama3.1", messages: [ { role: "user", content: msg.payload.prompt || "Hola" } ], stream: false }; msg.headers = { "Content-Type": "application/json" }; return msg; - Arrastra un nodo
http requesty configura:- Method: POST
- URL:
http://localhost:11434/api/chat - Return: parsed JSON
- Conecta los nodos:
inject→function→http request→debug.
Al hacer clic en el botón Inject, verás la respuesta de Ollama en la ventana de depuración.
Nodos de la comunidad para Ollama
Existen nodos de la comunidad que integran Ollama directamente:
- node-red-contrib-ollama - Integración directa de Ollama con nodos de chat e incrustaciones.
- node-red-contrib-openai - Compatible con OpenAI, funciona con Ollama.
Instálalos desde la administración de paleta en Node-RED:
Manage Palette → Install → "node-red-contrib-ollama"
Ejemplo práctico 1: Clasificación de correos con IA
Este ejemplo clasifica correos electrónicos entrantes por categoría, preguntando a Ollama cuál es la categoría más apropiada.
Estructura del flujo
- IMAP Node (Correos entrantes)
- Function Node (Construir el prompt):
msg.payload = { model: "llama3.1", messages: [ { role: "system", content: "Eres un clasificador de correos. Responde solo con una de estas categorías: support, sales, billing, spam, other." }, { role: "user", content: `Asunto: ${msg.topic}\nContenido: ${msg.payload}` } ], stream: false }; msg.headers = { "Content-Type": "application/json" }; return msg; - HTTP Request Node (Llamar a Ollama)
- Switch Node (Ramificar según categoría)
- Output Nodes (Mover correo a carpeta, notificar por Slack, etc.)
Ventajas
- Los correos se clasifican automáticamente sin reglas manuales.
- Nuevas categorías pueden añadirse ajustando el prompt del sistema.
- IA local, sin nube, sin preocupaciones de privacidad.
Desventajas
- Cada correo consume tiempo de inferencia (segundos a minutos).
- Clasificaciones incorrectas son posibles, especialmente con correos ambiguos.
- El modelo debe evaluarse regularmente.
Ejemplo práctico 2: Resumen de documentos
Este ejemplo resume documentos PDF que se depositan en una carpeta.
Construcción del flujo
- Nodo File (monitorear PDF en la carpeta)
- Nodo Function (extraer texto, por ejemplo con
pdf-parse):const pdf = require('pdf-parse'); const buffer = msg.payload; pdf(buffer).then(data => { msg.payload = { model: "llama3.1", messages: [ { role: "system", content: "Fasse das Dokument in 5 Sätzen zusammen." }, { role: "user", content: data.text.substring(0, 4000) } ], stream: false }; msg.headers = { "Content-Type": "application/json" }; node.send(msg); }); - Nodo HTTP Request (llamar a Ollama)
- Nodo File (guardar resumen)
Notas
- Los documentos grandes deben dividirse en fragmentos porque los modelos tienen una longitud de contexto límite.
- Para mejores resúmenes, usa modelos con contexto amplio, como
qwen2.5:32k. - Consulta Longitud de contexto para más detalles.
Caso práctico 3: notificaciones con filtro de IA
Este ejemplo filtra notificaciones del sistema y reenvía solo las importantes.
Construcción del flujo
- Nodo Webhook (recibir notificación)
- Nodo Function (construir prompt):
msg.payload = { model: "llama3.1", messages: [ { role: "system", content: "Bewerte, ob diese Benachrichtigung wichtig ist. Antworte mit 'wichtig' oder 'unwichtig'." }, { role: "user", content: msg.payload.message } ], stream: false }; msg.headers = { "Content-Type": "application/json" }; return msg; - Nodo HTTP Request (llamar a Ollama)
- Nodo Switch (reenviar solo si es importante)
- Nodo Slack (enviar notificación)
Function Calling en Node-RED
Function Calling te permite obtener datos estructurados de la IA que puedes procesar en Node-RED.
Ejemplo: respuesta estructurada de correo
// Nodo Function
msg.payload = {
model: "llama3.1",
messages: [
{
role: "system",
content: "Du bist ein E-Mail-Assistent. Antworte im JSON-Format: {\"category\": \"...\", \"priority\": \"...\", \"response\": \"...\"}"
},
{ role: "user", content: msg.payload.email }
],
format: "json",
stream: false
};
msg.headers = { "Content-Type": "application/json" };
return msg;
Después del nodo HTTP Request, puedes procesar la respuesta JSON directamente, por ejemplo ramificando con un nodo Switch según la categoría.
Consulta Function Calling para más detalles.
RAG en Node-RED
Para RAG necesitas una base de datos vectorial e incrustaciones. Node-RED puede manejar ambas:
-
Incrustaciones desde Ollama:
msg.payload = { model: "nomic-embed-text", prompt: msg.payload.text }; msg.headers = { "Content-Type": "application/json" }; return msg;URL:
http://localhost:11434/api/embeddings -
Base de datos vectorial: usa
node-red-contrib-chromapara ChromaDB o construye HTTP requests a Pinecone, Qdrant o Weaviate. -
Flujo RAG: query → incrustación → búsqueda vectorial → construir contexto → chat con Ollama usando contexto.
Consulta RAG local para más detalles.
Consideraciones de seguridad
- Proteger Node-RED: establece una contraseña modificando
settings.js. Por defecto, Node-RED funciona sin autenticación. - Sin secretos en el flujo: usa variables de entorno, no API keys hardcodeados.
- Ollama solo local: no expongas Ollama a internet sin autenticación. Consulta Claves API.
- Sandbox para nodos Function: los nodos Function pueden ejecutar código JavaScript arbitrario. Restringe el acceso al editor de flujos.
- Audit Logging: activa el registro en Node-RED para hacer las acciones rastreables. Consulta Audit Logging.
Consejos de rendimiento
- Modelo pequeño para clasificación: usa un modelo pequeño (como
llama3.1:8b) para clasificaciones simples, uno más grande para tareas complejas. - Caching: cachea solicitudes recurrentes para ahorrar tiempo de inferencia.
- Batching: agrupa múltiples solicitudes y envíalas juntas cuando sea posible.
- Streaming: usa streaming para respuestas largas para reducir latencia.
- Procesamiento asincrónico: usa colas para absorber picos de carga.
Errores comunes
- Sin autenticación: Node-RED viene por defecto sin contraseña. Es un riesgo de seguridad.
- Modelos demasiado grandes: usar un modelo de 70B para una clasificación simple es excesivo y lento.
- Sin manejo de errores: si Ollama no está disponible, el flujo no debería fallar, sino capturar errores.
- Ignorar longitud de contexto: los documentos grandes deben dividirse en fragmentos, de lo contrario la inferencia falla.
- Sin pruebas: los flujos de trabajo deben probarse antes de pasar a producción.
Enlaces y recursos adicionales sobre Node-RED
- Documentación de Node-RED - Docs oficiales de Node-RED.
- Instalar Ollama - Backend para Node-RED.
- Function Calling - Respuestas estructuradas de IA.
- RAG local - RAG con IA local.
- Fundamentos de automatización - Conceptos básicos de automatización con IA.
- Proxmox VE - Ejecutar Node-RED en LXC.
- Claves API - Proteger Ollama.
Puntos clave:
- Node-RED es un editor de flujos visual para automatización.
- Con Ollama como backend, puedes usar IA local en flujos de trabajo.
- Casos prácticos: clasificación de correos, resumen de documentos, filtrado de notificaciones.
- Function Calling y RAG son implementables en Node-RED.
- Seguridad: proteger Node-RED, sin secretos en el flujo, Ollama solo local.
FAQ: Node-RED para automatización con IA - Preguntas típicas
¿Qué es Node-RED?
¿Cómo conecto Node-RED con Ollama?
¿Puedo usar Function Calling en Node-RED?
¿Puedo implementar RAG en Node-RED?
¿Cómo protejo Node-RED?
¿Se puede ejecutar Node-RED en Docker?
¿Qué modelo debería usar?
¿Cómo mejoro el rendimiento?
¿Es Node-RED gratuito?
¿Hay alternativas a Node-RED?
Fuentes y lecturas recomendadas
- Documentación de Node-RED - Documentación oficial.
- API de Ollama - Referencia de la API.
- Node Ollama para Node-RED - Nodos de la comunidad.
- Fundamentos de automatización - Bases de la automatización con IA.


