Ollama + Open WebUI: monta una interfaz local tipo ChatGPT (guía completa)

Ollama hace que ejecutar modelos grandes en local sea sorprendentemente sencillo: un solo comando para instalarlo y hasta un portátil viejo con 8 GB de RAM puede correr un modelo de 7B. Open WebUI aporta una interfaz al estilo ChatGPT, despliegue en un clic con Docker, base de conocimiento integrada, gestión multiusuario y API compatible con OpenAI.
En este artículo te enseñamos a montar con estas dos herramientas un sistema completo de chat con IA en local.
¿Por qué elegir el despliegue local?
ChatGPT y Claude funcionan muy bien, pero hay varios puntos que no me convencen del todo.
El costo. Veinte dólares al mes, 240 al año. Para un usuario intensivo puede tener sentido, pero si solo haces preguntas de código o consultas puntuales, el gasto duele. Con un modelo local, tras la descarga es gratis: sin facturación por tokens ni preocuparte por renovaciones.
La privacidad. Lo que escribes se sube a los servidores de OpenAI o Anthropic. Documentos de trabajo, notas personales, conversaciones privadas… la verdad es que no me siento del todo cómodo. En local, los datos se quedan en tu disco y no salen de ahí.
El modo offline. De viaje o con mala conexión, la IA en la nube deja de servir. Un modelo local, una vez descargado, corre sin red.
La personalización. En los servicios en la nube los parámetros vienen bloqueados. Temperature, plantillas de prompt… no puedes tocarlos. En local, ajustas lo que quieras.
Conceptos clave de un vistazo
Antes de seguir, conviene entender qué hace cada herramienta.
Ollama es un ejecutor de modelos. Te ayuda a descargar, gestionar y ejecutar grandes modelos de lenguaje, y además expone una API (puerto 11434 por defecto). Piénsalo como «la API de OpenAI en local».
Open WebUI es una interfaz web. Ventana de chat al estilo ChatGPT, cambio de modelos, historial… todo incluido. Se conecta a Ollama por API y convierte la línea de comandos en una interfaz gráfica en el navegador.
La arquitectura queda así:
Navegador (localhost:3000)
↓
Open WebUI (contenedor Docker)
↓ HTTP API
Ollama (servicio local, puerto 11434)
↓
Modelos locales (guardados en ~/.ollama)
Abres el navegador → Open WebUI llama a la API de Ollama → Ollama carga el modelo e infiere → te devuelve el resultado. Así de simple.
Requisitos del sistema y preparación
Antes de desplegar, comprueba si tu hardware aguanta.
Requisitos mínimos:
- Procesador: Intel i5 o equivalente
- Memoria: 8 GB RAM (16 GB o más recomendado)
- Almacenamiento: al menos 10 GB libres (los modelos ocupan bastante)
- Sistema: Windows 10+, macOS 11+, Linux
Configuración recomendada:
- GPU: NVIDIA RTX 3060 o superior (la inferencia va mucho más rápida)
- Mac con Apple Silicon: series M1/M2/M3, arquitectura de memoria unificada, muy adecuada para modelos
Dependencias de software:
- Docker: para ejecutar Open WebUI (también puedes prescindir de él, pero Docker simplifica mucho)
Comprueba si Docker está instalado:
docker --version
docker compose version
Si ves números de versión, está listo. Si no, instala Docker Desktop (Windows/macOS) o Docker Engine (Linux).
Paso 1: instalar Ollama
Instalar Ollama es cuestión de un comando.
1.1 Instalación en macOS y Linux
Abre la terminal y ejecuta:
curl -fsSL https://ollama.com/install.sh | sh
El script descarga Ollama e lo instala en el sistema. Al terminar, el servicio arranca en segundo plano.
1.2 Instalación en Windows
En PowerShell:
irm https://ollama.com/install.ps1 | iex
O descarga el instalador de Windows en ollama.com/download y ejecútalo. Cualquiera de las dos opciones vale.
1.3 Instalación con Docker (opcional)
¿Quieres Ollama también en contenedor? Con Docker:
docker pull ollama/ollama:latest
docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
-v ollama:/root/.ollama guarda los modelos en un volumen de Docker: no se pierden al reiniciar el contenedor.
1.4 Verificar la instalación
Cuando termines, confirma que Ollama funciona:
ollama --version
Deberías ver algo como ollama version is 0.1.x.
Si el servicio no arrancó solo, lánzalo manualmente:
ollama serve
Esto inicia el servicio API de Ollama en segundo plano, escuchando en http://localhost:11434.
Paso 2: descargar y ejecutar modelos
Con Ollama instalado, toca bajar un modelo.
2.1 Cómo elegir modelo
Modelos de distinto tamaño exigen distinto hardware. Esta tabla ayuda a decidir rápido:
| Hardware | Modelo recomendado | Parámetros | Disco | Comando |
|---|---|---|---|---|
| 8 GB RAM, sin GPU | Llama 3.2 1B | 1B | 740 MB | ollama run llama3.2:1b |
| 8 GB RAM, sin GPU | Gemma 3 2B | 2B | 1.4 GB | ollama run gemma3:2b |
| 16 GB RAM | Llama 3.2 3B | 3B | 2 GB | ollama run llama3.2 |
| 16 GB RAM | Qwen 2.5 7B | 7B | 4 GB | ollama run qwen2.5:7b |
| 16 GB RAM + GPU | Llama 3.1 8B | 8B | 4.7 GB | ollama run llama3.1:8b |
| 32 GB RAM + GPU | DeepSeek R1 14B | 14B | 8 GB | ollama run deepseek-r1:14b |
| 64 GB RAM + GPU | Llama 3.3 70B | 70B | 39 GB | ollama run llama3.3:70b |
Por uso:
- Conversación diaria, tareas simples: Llama 3.2 1B o 3B
- Buen chino: serie Qwen 2.5 (de Alibaba, muy sólida en chino)
- Código: serie DeepSeek R1 (razonamiento fuerte, ideal para generación de código)
- Alto rendimiento general: Llama 3.1 8B o Mistral 7B
2.2 Descargar modelos
Con ollama pull:
# Descargar Llama 3.2 (versión 3B por defecto)
ollama pull llama3.2
# Descargar DeepSeek R1 7B
ollama pull deepseek-r1:7b
# Descargar Qwen 2.5 7B (bueno en chino)
ollama pull qwen2.5:7b
La primera descarga puede tardar unos minutos según tamaño y conexión. Llama 3.2 me llevó unos 2 minutos; DeepSeek R1 7B un poco más.
2.3 Ejecutar el modelo en chat
Descargado, ejecútalo directamente:
ollama run llama3.2
Entrarás en una interfaz de chat:
>>> Send a message (/? for help)
Escribe una pregunta y el modelo responde en tiempo real:
>>> Hola, preséntate
¡Hola! Soy un asistente de IA local basado en el modelo Llama 3.2...
Sal con Ctrl + d o escribiendo /bye.
2.4 Comandos de gestión habituales
Ver modelos descargados:
ollama list
Eliminar un modelo:
ollama rm llama3.2:1b
Copiar un modelo (con alias):
ollama cp llama3.2 my-llama
Ver detalles del modelo:
ollama show llama3.2
Paso 3: instalar Open WebUI
La línea de comandos basta para muchas cosas. Pero si quieres una interfaz gráfica al estilo ChatGPT, instala Open WebUI.
3.1 Despliegue con un solo contenedor Docker (rápido)
Asegúrate de que Ollama está en marcha (ollama serve) y ejecuta:
docker run -d -p 3000:8080 \
--add-host=host.docker.internal:host-gateway \
-v open-webui:/app/backend/data \
--name open-webui \
--restart unless-stopped \
ghcr.io/open-webui/open-webui:main
Parámetros clave:
-p 3000:8080: mapea el puerto 8080 del contenedor al 3000 del host--add-host=host.docker.internal:host-gateway: permite al contenedor acceder al Ollama del host-v open-webui:/app/backend/data: persiste datos (historial, cuentas)--restart unless-stopped: el contenedor arranca solo tras reiniciar Docker
Listo: abre el navegador en:
http://localhost:3000
3.2 Despliegue con Docker Compose (recomendado)
¿Quieres gestionar Ollama y Open WebUI con Docker? Docker Compose es más cómodo.
Crea un directorio:
mkdir open-webui-project
cd open-webui-project
Crea un archivo compose.yaml:
services:
open-webui:
image: ghcr.io/open-webui/open-webui:main
container_name: open-webui
ports:
- "3000:8080"
volumes:
- ./data:/app/backend/data
environment:
- "OLLAMA_BASE_URL=http://ollama:11434"
restart: unless-stopped
depends_on:
- ollama
ollama:
image: ollama/ollama:latest
container_name: ollama
volumes:
- ./ollama:/root/.ollama
ports:
- "11434:11434"
restart: unless-stopped
Arranca los servicios:
docker compose up -d
Comprueba el estado:
docker compose ps
Si ambos contenedores muestran running, todo correcto.
3.3 Primer acceso y configuración
Abre http://localhost:3000 en el navegador. La primera vez verás la pantalla de creación de cuenta.
Crear cuenta de administrador:
- Usuario, email y contraseña
- Pulsa «Sign Up»
Tras iniciar sesión, Open WebUI detecta Ollama y lista los modelos disponibles. Si ya descargaste modelos, el menú desplegable mostrará algo como:
llama3.2:latest
deepseek-r1:7b
qwen2.5:7b
¿No se detecta solo? Ve a Settings → Connections y define manualmente la URL de la API de Ollama:
http://host.docker.internal:11434
Con Docker Compose, usa:
http://ollama:11434
Paso 4: uso básico
Con la interfaz montada, veamos cómo usarla.
4.1 Chat al estilo ChatGPT
La interfaz se parece mucho a ChatGPT:
- A la izquierda, lista de conversaciones: crear, borrar, renombrar
- Arriba, selector de modelo
- Abajo, caja de texto; Enter para enviar
Elige un modelo (por ejemplo llama3.2), escribe tu pregunta y la respuesta aparece en streaming, igual que en ChatGPT.
4.2 Cambiar de modelo
Puedes cambiar de modelo en la misma conversación. Abre el selector superior, elige otro modelo y sigue hablando.
Sirve para comparar respuestas:
- Haz la misma pregunta con Llama 3.2
- Cambia a DeepSeek R1 y mira si profundiza más
4.3 Gestión de conversaciones
- Nueva conversación: «New Chat» a la izquierda
- Renombrar: clic en el título y edita
- Eliminar: clic derecho en la conversación
- Buscar historial: caja de búsqueda arriba a la izquierda
Todo el historial vive en el volumen Docker local; no se sube a la nube.
4.4 Ajuste de parámetros
El icono de ajustes junto al cuadro de texto permite modificar parámetros del modelo:
- Temperature: controla la aleatoriedad. Valores bajos (0.1-0.3) más estables; altos (0.7-0.9) más creativos
- Top P: acota el universo de tokens elegidos
- Longitud máxima de salida: limita el tamaño de la respuesta
Influyen mucho en el resultado. Para código, temperature baja; para copy creativo, más alta.
Paso 5: funciones avanzadas
Además del chat básico, Open WebUI trae varias funciones útiles.
5.1 Construir una base de conocimiento RAG
RAG (Retrieval-Augmented Generation) convierte tus documentos en una base que la IA puede consultar.
Cómo usarlo:
- Pestaña «Documents» a la izquierda
- «Upload» y elige archivos (PDF, Markdown, TXT, DOCX)
- Tras subirlos, el sistema los indexa automáticamente
En el chat, marca «Use Documents» y la IA recuperará información de tus archivos.
Ejemplos:
- Sube la documentación de la API de tu empresa y pregunta por parámetros de un endpoint
- Sube notas personales y pregunta qué se acordó en la última reunión
- Sube un PDF técnico y pide una explicación detallada de un concepto
Es un «chat con tu biblioteca» en local: los documentos siguen en tu disco.
5.2 Gestión multiusuario
¿Varias personas en el mismo sistema? Puedes crear cuentas distintas.
El administrador, en Settings → Users, puede:
- Crear usuarios
- Asignar permisos (usuario normal o administrador)
- Ver la lista de usuarios
Cada usuario tiene su historial aislado.
5.3 Integración API
Tanto Open WebUI como Ollama exponen APIs compatibles con OpenAI para conectar herramientas existentes.
Llamar a la API de Ollama:
curl http://localhost:11434/api/chat -d '{
"model": "llama3.2",
"messages": [
{"role": "user", "content": "Hello"}
],
"stream": false
}'
Llamar a la API de Open WebUI (con autenticación, obtén un token antes):
curl http://localhost:3000/api/chat/completions \
-H "Authorization: Bearer YOUR_TOKEN" \
-d '{
"model": "llama3.2",
"messages": [{"role": "user", "content": "Hello"}]
}'
Ejemplo en Python:
import requests
response = requests.post('http://localhost:11434/api/chat', json={
'model': 'llama3.2',
'messages': [{'role': 'user', 'content': 'Hello'}],
'stream': False
})
print(response.json()['message']['content'])
Así puedes enlazar el modelo local con plugins de VS Code, scripts de automatización u otras herramientas que hablen la API de OpenAI.
Paso 6: ajuste de rendimiento
¿La inferencia va lenta o te falta memoria? Prueba estos ajustes.
6.1 Aceleración GPU
Ollama detecta y usa la GPU automáticamente. ¿No la reconoce? Revisa drivers.
GPU NVIDIA:
Instala drivers NVIDIA y CUDA. Ollama usará nvidia-smi para detectar la GPU.
Mac con Apple Silicon:
En M1/M2/M3 no hace falta configuración extra: Ollama usa Metal.
GPU AMD:
En Linux puedes instalar la versión ROCm de Ollama:
curl -L https://ollama.com/download/ollama-linux-amd64-rocm.tgz -o ollama-linux-amd64-rocm.tgz
sudo tar -C /usr/ -xzf ollama-linux-amd64-rocm.tgz
6.2 Configuración de concurrencia
¿Varios modelos a la vez o más capacidad concurrente? Variables de entorno:
# Número de modelos en paralelo
OLLAMA_NUM_PARALLEL=2 ollama serve
# Máximo de modelos cargados
OLLAMA_MAX_LOADED_MODELS=2 ollama serve
Útil en escenarios multiusuario para evitar la latencia al cambiar de modelo.
6.3 Cuantización de modelos
¿Un modelo grande (como 70B) consume demasiada RAM? Usa una versión cuantizada:
# Versión 4-bit (ocupa ~75 % menos)
ollama pull llama3.3:70b-q4_K_M
La cuantización baja un poco la calidad, pero mejora velocidad y uso de memoria.
Solución de problemas frecuentes
Durante el despliegue pueden surgir estos casos.
P1: la descarga del modelo va muy lenta
Causa: los servidores oficiales de Ollama están fuera de China; la descarga puede ser lenta desde allí.
Solución:
- Usar un proxy
- O descargar el GGUF desde un mirror e importarlo manualmente en Ollama
Importación manual:
# Tras descargar el GGUF, crea un Modelfile
FROM ./llama3.2.gguf
# Crear el modelo
ollama create my-llama3.2 -f Modelfile
P2: Open WebUI no se conecta a Ollama
Síntoma: «Ollama connection failed» en la interfaz.
Comprobaciones:
- Confirma que Ollama está activo:
curl http://localhost:11434
Debería devolver "Ollama is running".
- Con Docker, revisa la red:
docker exec -it open-webui curl http://host.docker.internal:11434
Si falla, configura OLLAMA_BASE_URL manualmente.
P3: la GPU no se reconoce
Síntoma: inferencia muy lenta; nvidia-smi no muestra uso de GPU.
Comprobaciones:
- Drivers NVIDIA:
nvidia-smi
Deberías ver la GPU.
- ¿Ollama ve la GPU?
ollama show llama3.2 --system
Si indica CPU-only, la GPU no se detectó.
Solución:
- Reinstalar drivers NVIDIA
- Verificar compatibilidad de CUDA
- En Linux, puede hacer falta
CUDA_VISIBLE_DEVICES
P4: error de memoria insuficiente
Síntoma: error OOM (Out of Memory) con modelos grandes.
Solución:
- Modelo más pequeño (1B o 3B)
- Versión cuantizada (
q4_K_M) - Más espacio swap (Linux)
- Cerrar programas que consuman RAM
P5: el contenedor Docker no arranca
Síntoma: docker ps muestra el contenedor como Exited.
Comprobación:
Revisa los logs:
docker logs open-webui
Causas habituales:
- Conflicto de puerto (3000 ocupado)
- Permisos del volumen
- Memoria insuficiente
Solución:
- Cambiar puerto (por ejemplo
-p 8080:8080) - Revisar permisos del volumen Docker
- Aumentar límite de memoria del contenedor
Resumen
Montar una interfaz tipo ChatGPT con Ollama + Open WebUI se resume en:
- Instalar Ollama (un comando)
- Descargar el modelo adecuado (según hardware)
- Desplegar Open WebUI (un clic con Docker)
- Empezar a chatear
Al terminar tendrás:
- Un asistente de chat gratis
- Datos totalmente privados en local
- Uso offline
- Parámetros de modelo personalizables
- Base de conocimiento ampliable (RAG)
- APIs integrables
Encaja bien para uso personal y para equipos pequeños. Para ir más allá:
- Modelfile para personalizar comportamiento
- Integrar modelos en la nube y locales a la vez
- Despliegue en producción con Kubernetes
Recursos de referencia
- Sitio oficial de Ollama
- Biblioteca de modelos de Ollama
- Open WebUI en GitHub
- Ollama en GitHub
- Tutorial de freeCodeCamp
- Tutorial de Open WebUI en DataCamp
Si tienes dudas, busca en los GitHub Issues de Ollama y Open WebUI: la comunidad es activa y casi todo tiene respuesta documentada.
Montar una interfaz local tipo ChatGPT
Desplegar en local una interfaz de chat con IA al estilo ChatGPT con Ollama y Open WebUI
⏱️ Estimated time: 30 min
- 1
Step 1: Instalar Ollama
Elige el método según tu sistema operativo:
• macOS/Linux: curl -fsSL https://ollama.com/install.sh | sh
• Windows: irm https://ollama.com/install.ps1 | iex
• Docker: docker pull ollama/ollama:latest
Tras la instalación, ejecuta ollama --version para verificar - 2
Step 2: Descargar modelos
Elige el modelo según tu hardware:
• 8 GB RAM: ollama pull llama3.2:1b
• 16 GB RAM: ollama pull llama3.2
• 16 GB RAM + GPU: ollama pull llama3.1:8b
• Optimizado para chino: ollama pull qwen2.5:7b - 3
Step 3: Desplegar Open WebUI
Despliegue con un solo contenedor Docker:
docker run -d -p 3000:8080 \
--add-host=host.docker.internal:host-gateway \
-v open-webui:/app/backend/data \
--name open-webui \
ghcr.io/open-webui/open-webui:main
O usa Docker Compose para gestionar dos contenedores - 4
Step 4: Configuración inicial
Visita http://localhost:3000:
• Crea una cuenta de administrador
• Detecta automáticamente el servicio Ollama
• Elige un modelo y empieza a chatear - 5
Step 5: Configuración de funciones avanzadas
Funciones opcionales:
• Base de conocimiento RAG: sube documentos PDF/Markdown
• Integración API: endpoint compatible con OpenAI
• Aceleración GPU: detección automática, sin configuración
FAQ
¿Qué hardware necesito para desplegar IA en local?
¿Qué modelos admite Ollama?
• Serie Meta Llama (1B-70B)
• Modelos de razonamiento DeepSeek R1
• Serie Qwen de Alibaba (optimizada para chino)
• Google Gemma, Mistral, etc.
Usa ollama list para ver los modelos descargados y ollama pull para descargar nuevos
¿Qué hago si Open WebUI no se conecta a Ollama?
¿Puedo usar la IA local sin conexión a internet?
¿Cómo integrarlo con herramientas existentes (como plugins de VS Code)?
• Endpoint: http://localhost:11434/api/chat
• Mismo formato que la API de OpenAI
• Llamada directa desde Python/Node.js
Solo tienes que cambiar la dirección de la API de OpenAI por la local
12 min de lectura · Publicado el: 4 abr 2026 · Actualizado el: 21 ago 2026
Guía de Ollama local LLM
Si llegaste desde búsqueda, lo más rápido es ir al artículo anterior o siguiente de esta misma serie.
Anterior
Ollama con varios modelos en paralelo: configuración práctica de Qwen, Llama y DeepSeek
Guía detallada para configurar la ejecución en paralelo de varios modelos en Ollama, comparativa de Qwen, Llama y DeepSeek, técnicas de gestión de memoria GPU y cómo crear un sistema inteligente de cambio de modelos.
Parte 10 de 18
Siguiente
Llamadas a la API de Ollama: de curl a la interfaz compatible con OpenAI SDK
Aprende dos formas de llamar la API de Ollama: REST API nativa (curl) e interfaz compatible con OpenAI SDK. Incluye ejemplos de código completos, manejo de respuestas en streaming y guía de buenas prácticas
Parte 12 de 18



Comentarios
Inicia sesión con GitHub para dejar un comentario