Intermedio 13 minNo-code

Dify autoalojado: crear aplicaciones de IA con tu LLM local

Dify es una plataforma de código abierto que te permite construir aplicaciones de IA —chatbots, flujos de trabajo, agentes, asistentes RAG— sin escribir una línea de código, mediante una interfaz visual. Autoalojada y conectada a Ollama, ofrece una capa completa de «sin código» sobre tus modelos locales: tus prompts, documentos y datos nunca abandonan tu máquina. Esta guía cubre el despliegue con Docker Compose, la conexión a un LLM local y la construcción de un primer asistente RAG funcional.

Por Marie L.·Actualización 2026-08-27·Probado en Windows, macOS y Linux

#¿Por qué Dify en lugar de una interfaz de chat?

Open WebUI o LM Studio bastan para conversar con un modelo. Dify va un paso más allá: crear aplicaciones reutilizables. Defines un prompt de sistema, le conectas una base de conocimientos, expones el conjunto mediante una API o un widget de chat integrable y gestionas las versiones de tus iteraciones. Es el equivalente local y de código abierto de OpenAI Assistants o Coze.

La combinación Dify + Ollama ofrece dos ventajas. Primero, la confidencialidad: a diferencia de Dify conectado a GPT-4 o Claude, aquí los documentos indexados y las conversaciones permanecen en tu infraestructura. Después, el costo: no se factura ningún token, puedes iterar con cientos de prompts sin estar pendiente de una factura de API.

Chatbot
Un asistente conversacional con prompt de sistema, variables de entrada y memoria de conversación.
Agente
Un asistente capaz de llamar a herramientas (búsqueda web, cálculo, API) en bucle hasta resolver la tarea.
Workflow
Una cadena visual de nodos (LLM, condición, extracción, HTTP) para procesamientos deterministas.
Knowledge / RAG
Indexación de tus documentos para que las aplicaciones respondan basándose en ellos, con citas de fuentes.
i
Sin código, pero con configuración
Dify evita tener que escribir código de aplicaciones, pero sigue siendo una herramienta técnica: manipulas prompts, variables y parámetros de división de documentos. Calcula una hora larga para familiarizarte con la herramienta, más allá de la simple instalación.

#Prerrequisitos

El kit Copiloto Local

Esta guía te lleva al modelo. El kit te lleva al copiloto que programa en tu editor.

  • Espacio en línea de por vida
  • PDF + archivos
  • Reembolsado 30 j

Dify es una aplicación con varios contenedores (API, worker, frontend, base de datos PostgreSQL, Redis, base de datos vectorial). Se despliega mediante Docker Compose. En cuanto al modelo, se asume que Ollama ya está en ejecución y escucha en su puerto predeterminado.

Docker + Docker Compose
Una versión reciente de Docker Engine con el plugin Compose (comando docker compose). En Windows/macOS, basta con Docker Desktop.
Ollama funcionando
El daemon de Ollama instalado y accesible en http://localhost:11434. Prueba con ollama list antes de comenzar.
Un modelo de chat
Por ejemplo qwen3.5:9b (256k de contexto, multimodal, Apache 2.0), la referencia de 8 GB en 2026. En Q4, ocupa aproximadamente 6,6 GB de VRAM (RTX 3060 de 12 GB es ampliamente suficiente).
Un modelo de embeddings
Indispensable para el RAG: nomic-embed-text es la opción por defecto, ligero y eficaz.
Recursos
Reserva aproximadamente 8 GB de RAM para el conjunto de servicios de Dify, además de la VRAM/RAM que consumen tus modelos Ollama.
Terminal — preparar los modelos
# Vérifier qu'Ollama répond
ollama list

# Modèle de chat (choisissez selon votre VRAM)
ollama pull qwen3.5:9b

# Modèle d'embeddings pour le RAG
ollama pull nomic-embed-text

#Instalar Dify con Docker Compose

Dify proporciona un repositorio oficial con una carpeta docker lista para usar. Se clona el repositorio, se copia el archivo de ejemplo de variables de entorno y se pone en marcha el conjunto de servicios.

  1. 01
    Clonar el repositorio
    Descarga la última versión estable del proyecto desde GitHub y luego entra en el directorio docker que contiene el archivo docker-compose.yaml.
  2. 02
    Crear el archivo .env
    Copia .env.example a .env. Los valores predeterminados bastan para un uso local; ahí ajustarás los puertos o los secretos más adelante.
  3. 03
    Iniciar la pila
    Ejecuta docker compose up -d. El primer arranque descarga las imágenes e inicializa la base de datos PostgreSQL; calcula unos minutos.
  4. 04
    Crear la cuenta de administrador
    Abre http://localhost/install en el navegador y introduce el correo electrónico y la contraseña del primer administrador. Esta cuenta será la que gestione el espacio de trabajo.
Terminal — despliegue
git clone https://github.com/langgenius/dify.git
cd dify/docker

cp .env.example .env

docker compose up -d

# Vérifier que les conteneurs tournent
docker compose ps
→
La interfaz está en el puerto 80
Por defecto, el frontend de Dify está expuesto en http://localhost (puerto 80), no en un puerto de aplicación inusual. Si el puerto 80 ya está ocupado, modifica EXPOSE_NGINX_PORT en el archivo .env antes de volver a ejecutar docker compose up -d.

#Conectar Ollama como proveedor de modelos

Dify solo conoce tus modelos locales si declaras Ollama como proveedor. Esto se hace en los ajustes del modelo, no en un archivo de configuración. Lo principal que debes vigilar es la URL: desde un contenedor Docker, localhost designa el propio contenedor, no tu máquina anfitriona donde se ejecuta Ollama.

  1. 01
    Abrir los ajustes de proveedores
    Haz clic en tu avatar en la esquina superior derecha → Ajustes → Proveedores de modelos. Busca Ollama en la lista y selecciónalo.
  2. 02
    Introducir la URL del servidor
    En el campo Base URL, introduce la dirección accesible desde el contenedor (ver el aviso a continuación). El nombre del modelo debe coincidir exactamente con lo que devuelve ollama list, por ejemplo qwen3.5:9b.
  3. 03
    Añadir el modelo de chat
    Tipo de modelo: LLM. Introduce el tamaño del contexto (por ejemplo, 8192 o más según el modelo) y confirma. Dify prueba la conexión al guardar.
  4. 04
    Agregar el modelo de embeddings
    Repite la operación con nomic-embed-text eligiendo el tipo Text Embedding. Sin él, no podrás construir una base de conocimientos.
  5. 05
    Definir los modelos por defecto
    También en los ajustes, establece qwen3.5:9b como modelo del sistema por defecto y nomic-embed-text como modelo de embeddings por defecto.
!
localhost no funciona desde el contenedor
Ollama se ejecuta en el host, pero Dify se ejecuta dentro de Docker. Usa http://host.docker.internal:11434 con Docker Desktop (Windows/macOS). En Linux, usa la IP de la puerta de enlace de Docker (a menudo http://172.17.0.1:11434) o inicia Ollama con OLLAMA_HOST=0.0.0.0 y luego apunta a la IP de la máquina host en la red local.
Terminal — exponer Ollama en la red (Linux)
# Rendre Ollama joignable au-delà de localhost
# (à ajouter dans le service systemd ou l'environnement)
OLLAMA_HOST=0.0.0.0 ollama serve

# Vérifier depuis l'hôte que l'API répond
curl http://localhost:11434/api/tags

#Construir un primer asistente RAG sin programar

El RAG (Retrieval-Augmented Generation, generación aumentada por recuperación) permite al modelo responder a partir de tus documentos en lugar de basarse únicamente en sus conocimientos de entrenamiento. En Dify, esto se hace mediante una base de conocimientos (Knowledge) que luego se vincula a una aplicación.

  1. 01
    Crear una base de conocimientos
    Pestaña Knowledge → Crear. Importa tus archivos (PDF, Markdown, TXT, DOCX). Dify los divide automáticamente en chunks.
  2. 02
    Ajustar la división en fragmentos y la indexación
    Elige el modo de indexación «alta calidad» que utiliza tu modelo de embeddings nomic-embed-text. Ajusta el tamaño de los chunks si tus documentos son muy estructurados (tablas, código).
  3. 03
    Crear la aplicación de chat
    Pestaña Studio → Crear una app → Chatbot. Dale un nombre y una descripción.
  4. 04
    Redactar el prompt del sistema
    En el editor, describe el rol del asistente: « Respondes únicamente a partir de los documentos proporcionados. Si la información no está allí, dilo. » Esto limita las alucinaciones.
  5. 05
    Adjuntar la base de conocimientos
    En el panel Contexto de la app, añade la base creada en el paso 1. Activa las citas de fuentes para que las respuestas muestren los fragmentos utilizados.
  6. 06
    Probar y luego publicar
    Usa el panel de depuración a la derecha para hacer preguntas. Cuando el comportamiento te satisfaga, haz clic en Publicar para obtener una URL de chat y una clave de API.
→
El modelo de embeddings importa tanto como el modelo de chat
La calidad de un RAG depende en primer lugar de la relevancia de los pasajes recuperados. Un buen modelo de embeddings (nomic-embed-text, o mxbai-embed-large si tienes margen) mejora significativamente las respuestas, incluso con un modelo de chat modesto. No inviertas todo en un gran LLM ignorando los embeddings.

#Flujos y agentes: hasta dónde va el no-code

Más allá de un simple chatbot, Dify ofrece dos modos más avanzados. El modo Workflow muestra un lienzo visual donde se conectan nodos: entrada del usuario, llamada a LLM, condición (if/else), extracción de parámetros, solicitud HTTP, iteración sobre una lista. Así se construyen pipelines deterministas —por ejemplo: recibir un correo electrónico, clasificarlo, extraer entidades y luego redactar una respuesta tipo.

El modo Agente, en cambio, deja que el modelo decida a qué herramientas llamar y en qué orden, en un bucle, hasta obtener un resultado. Es más potente, pero también más frágil: la calidad depende en gran medida de la capacidad del modelo para razonar y respetar el formato de las llamadas a herramientas. Los modelos locales muy pequeños (2-4B) no se desenvuelven bien; busca un modelo diseñado para el uso de herramientas, como GLM 4.7 Flash (MoE 30B-A3B, MIT, ~19 GB) o Qwen 3.8 27B (~18 GB), si tu VRAM lo permite.

Lo que hace bien el no-code
Crear rápidamente un prototipo de chatbot RAG, encadenar unas cuantas etapas con LLM, exponer una API sin tener que escribir un backend, iterar sobre los prompts en equipo.
Dónde surgen las dificultades en local
Los agentes exigentes que utilizan varias herramientas requieren un modelo capaz de usarlas de forma fiable y, por tanto, necesitan VRAM. Un Qwen 3.5 9B basta para RAG, pero rara vez para un agente complejo.
Cuándo pasar al código
Lógica de negocio detallada, integraciones a medida, control total del pipeline de recuperación: una biblioteca como LangChain toma el control allí donde el lienzo visual muestra sus limitaciones.

#Solución de problemas

«Connection refused» al añadir el modelo
Dify no puede conectarse a Ollama. El problema es casi siempre la URL: reemplaza localhost por host.docker.internal (Docker Desktop) o la IP de la puerta de enlace de Docker (Linux), y verifica que Ollama esté escuchando en 0.0.0.0.
El modelo no aparece
El nombre indicado no coincide con lo que muestra ollama list. Copia el nombre exacto, incluida la etiqueta (qwen3.5:9b y no qwen3.5).
Error al indexar los documentos
El modelo de embeddings no está configurado o no se ha descargado. Ejecuta ollama pull nomic-embed-text y selecciónalo como modelo de embeddings predeterminado.
Respuestas muy lentas
El modelo de chat probablemente se esté ejecutando en parte en la CPU. Pasa a una cuantización más ligera (Q4_K_M) o a un modelo más pequeño y comprueba que Ollama esté utilizando la GPU.
El puerto 80 ya está en uso
Otro servicio ocupa el puerto. Cambia EXPOSE_NGINX_PORT en el .env (por ejemplo, 8080) y vuelve a ejecutar docker compose up -d.
Respuestas fuera de tema a pesar del RAG
Verifica que la base de conocimientos esté bien asociada a la app y que el prompt de sistema obligue al modelo a basarse en el contexto. Ajusta también el tamaño de los chunks.

#Para ir más allá

El valor de Dify depende de la solidez del modelo y de la infraestructura que lo sustentan. Estas guías refuerzan los componentes en los que se apoya.

Instalar Ollama
El demonio que sirve tu modelo de chat y tus embeddings en el puerto 11434 — la base de toda la pila Dify local.
RAG local con ChromaDB y Ollama
Para entender qué automatiza Dify bajo el capó y volver a tener el control en Python cuando el no-code muestra sus límites.
n8n + Ollama: automatizar localmente
Otro enfoque sin código, orientado a la automatización de tareas y complementario de los flujos de trabajo de Dify.
¿Esta guía te ha ayudado?

¿Un comentario, un error, una precisión? Avísanos, eso mejora la guía para todos.