Open WebUI para automatización
Qué cubre este artículo sobre Open WebUI para automatización
- Cómo usar Open WebUI no solo como interfaz de chat, sino como plataforma de automatización.
- Cómo funcionan pipelines, herramientas y webhooks.
- Cómo conectar Open WebUI con n8n y otros sistemas.
- Ejemplos prácticos para procesamiento de documentos, búsqueda y notificaciones.
- Mejores prácticas de integración y seguridad.
Introducción: Open WebUI para automatización explicado
Open WebUI es conocida como interfaz de chat para Ollama. Pero puede hacer mucho más: pipelines para lógica personalizada, herramientas para acciones externas, webhooks para procesar eventos, RAG para documentos. De esta manera, Open WebUI se convierte en una plataforma de automatización, no solo en un cliente de chat.
Este artículo está dirigido a usuarios que quieren aprovechar Open WebUI para automatización. Encontrarás los conceptos básicos en Open WebUI y Ollama.
¿Por qué necesito Open WebUI para automatización?
Imagina que quieres que un chat impulsado por IA no solo responda preguntas, sino que ejecute acciones: procesar documentos, llamar APIs, generar reportes. Open WebUI puede hacerlo mediante pipelines que integran lógica Python personalizada en el chat.
Open WebUI para automatización en pocas palabras
Open WebUI ofrece pipelines (código Python que se ejecuta con cada mensaje), herramientas (funciones que el modelo puede invocar) y webhooks (endpoints HTTP para eventos externos). Con esto automatizas flujos de trabajo directamente desde el chat.
La idea central es utilizar el chat como interfaz de automatización.
Para quién es este artículo
- Usuarios de Open WebUI que buscan más allá del chat.
- Self-hosters que quieren ejecutar automatización con IA de forma local.
- Desarrolladores que construyen pipelines y herramientas.
- Equipos que usan asistentes de IA en sus flujos de trabajo.
Tener experiencia previa con Open WebUI y Python es útil.
Términos clave
- Open WebUI - Interfaz de chat para Ollama. Cuándo es útil: la plataforma.
- Pipelines - Código Python en Open WebUI. Cuándo es útil: lógica personalizada.
- Herramientas - Funciones que el modelo puede llamar. Cuándo es útil: acciones externas.
- Webhooks - Endpoints HTTP. Cuándo es útil: eventos externos.
- RAG - Generación aumentada por recuperación. Cuándo es útil: documentos.
- Ollama - Servidor de modelos. Cuándo es útil: el backend.
- n8n - Herramienta de flujos de trabajo. Cuándo es útil: orquestación.
Pipelines: lógica personalizada en el chat
Los pipelines son funciones Python que se ejecutan con cada mensaje. Pueden filtrar, modificar mensajes o llamar a sistemas externos.
Pipeline simple
# pipelines/filter.py
class Pipeline:
def __init__(self):
self.name = "Automatisierungs-Pipeline"
async def on_message(self, message, user):
"""Wird bei jeder Nachricht aufgerufen"""
# Nachricht analysieren
if "bericht" in message.lower():
# Bericht-Workflow auslösen
await self.trigger_workflow("bericht", message)
return message
async def trigger_workflow(self, typ, data):
"""Externen Workflow auslösen"""
import aiohttp
async with aiohttp.ClientSession() as session:
await session.post(
"http://n8n:5678/webhook/bericht",
json={"typ": typ, "data": data}
)
Instalar un pipeline
# En Open WebUI:
# Admin Panel → Pipelines → Upload
# Datei: filter.py hochladen
# O mediante API:
curl -X POST http://open-webui:8080/pipelines/upload \
-H "Authorization: Bearer ..." \
-F "file=@filter.py"
Herramientas: funciones que el modelo puede llamar
Las herramientas son funciones Python que el modelo puede invocar (function calling).
# tools/web_search.py
def web_search(query: str) -> str:
"""Sucht im Web nach Informationen."""
import requests
response = requests.get(
"https://api.duckduckgo.com/",
params={"q": query, "format": "json"}
)
return response.json().get("AbstractText", "Kein Ergebnis")
def get_weather(city: str) -> str:
"""Gibt das Wetter für eine Stadt zurück."""
import requests
response = requests.get(
f"https://wttr.in/{city}?format=3"
)
return response.text
Activar una herramienta en Open WebUI
- Admin Panel → Tools → New Tool
- Inserta el código Python
- Guarda
- En el chat: selecciona la herramienta
El modelo ahora puede invocar web_search() y get_weather().
Webhooks: recibir eventos externos
Open WebUI puede recibir webhooks y generar mensajes:
# Webhook-Endpoint in Open WebUI
# POST /api/v1/webhook
# Beispiel: n8n sendet Benachrichtigung
curl -X POST http://open-webui:8080/api/v1/webhook \
-H "Content-Type: application/json" \
-d '{
"message": "Neues Dokument wurde hochgeladen",
"chat_id": "abc123"
}'
Ejemplo práctico 1: procesar documentos
# Pipeline: procesar documentos automáticamente
class Pipeline:
async def on_file_upload(self, file, user):
"""Al subir un archivo"""
if file.name.endswith(".pdf"):
# Procesar PDF
text = extract_pdf(file)
summary = await self.summarize(text)
# Publicar como mensaje
return f"Zusammenfassung von {file.name}:\n\n{summary}"
return None
async def summarize(self, text):
import aiohttp
async with aiohttp.ClientSession() as s:
async with s.post(
"http://ollama:11434/api/chat",
json={
"model": "llama3.1",
"messages": [
{"role": "user", "content": f"Fasse zusammen:\n{text[:4000]}"}
]
}
) as r:
data = await r.json()
return data["message"]["content"]
Ejemplo práctico 2: chat hacia flujo de trabajo n8n
# Herramienta: invocar flujo de trabajo n8n
def trigger_n8n_workflow(workflow_name: str, data: str) -> str:
"""Löst einen n8n Workflow aus."""
import requests
response = requests.post(
f"http://n8n:5678/webhook/{workflow_name}",
json={"input": data}
)
return response.text
# El usuario escribe en el chat:
# "Crea un reporte sobre IA local"
# → El modelo invoca trigger_n8n_workflow("bericht", "lokale KI")
# → n8n ejecuta el flujo de trabajo
# → El resultado regresa
Ejemplo práctico 3: respuestas automáticas con contexto
# Pipeline: agregar contexto de otros sistemas
class Pipeline:
async def on_message(self, message, user):
"""Con cada mensaje, enriquecer contexto"""
# Obtener documentos recientes de Nextcloud
docs = await self.get_recent_documents()
# Agregar contexto al mensaje
enriched = f"{message}\n\nRelevante Dokumente:\n{docs}"
return enriched
Integración de Open WebUI con n8n
Open WebUI Chat
│
▼ (Tool o Pipeline)
HTTP Request → n8n Webhook
│
▼
n8n Workflow:
├─ Daten verarbeiten
├─ Ollama für KI
├─ Datenbank abfragen
└─ Ergebnis zurückgeben
│
▼
Antwort in Open WebUI Chat
Consideraciones de seguridad
- Revisa las pipelines: Las pipelines tienen acceso total. Sube solo código de confianza.
- Asegura las herramientas: Las herramientas pueden ejecutar cualquier acción. Limita permisos. Consulta Permisos de herramientas.
- Autenticación: Protege Open WebUI con contraseña. Consulta Autenticación.
- Audit Logging: Registra llamadas de pipelines y herramientas. Consulta Audit Logging.
Errores comunes
- Pipelines bloqueantes: Las pipelines lentas ralentizan el chat. Usa operaciones asincrónicas.
- Descripciones de herramientas: El modelo utiliza el docstring como descripción. Sé preciso.
- Longitud del contexto: Demasiado contexto sobrecarga el modelo. Trunca si es necesario.
- Sin manejo de errores: Si una herramienta falla, el chat no debería colapsar.
- Demasiadas herramientas: Más de 5-7 herramientas confunden al modelo.
Enlaces relacionados
- Open WebUI - Open WebUI en detalle.
- Open WebUI RAG - Configurar RAG.
- Open WebUI Tools - Configurar herramientas.
- Ollama - Servidor de modelos.
- n8n - Automatización de flujos.
- RAG local - Q&A de documentos.
- Function Calling - Llamadas a herramientas.
Key Takeaways:
- Open WebUI es más que chat: pipelines, herramientas, webhooks.
- Pipelines: código Python que se ejecuta en cada mensaje.
- Herramientas: funciones que el modelo puede invocar.
- Integración con n8n y otros sistemas vía HTTP.
- Seguridad: revisa pipelines, asegura herramientas, activa autenticación.
Preguntas frecuentes
¿Qué son las pipelines en Open WebUI?
¿Qué son las herramientas en Open WebUI?
¿Cómo conecto Open WebUI con n8n?
¿Puedo usar RAG en Open WebUI?
¿Son seguras las pipelines?
¿Las pipelines ralentizan el chat?
¿Open WebUI o n8n para automatización?
¿Cómo funcionan los webhooks?
Fuentes y lecturas adicionales
- Open WebUI - Documentación.
- Open WebUI Pipelines - Documentación de pipelines.
- Ollama - Servidor de modelos.
- n8n Webhooks - Nodo webhook.


