Principiante 10 minRAG

RAG local con Ollama sin programar (Open WebUI, AnythingLLM)

Hacer RAG local con Ollama significa hacer preguntas a un LLM autoalojado y hacer que lea tus propios documentos, sin enviar ni una línea a la nube. Dos herramientas gratuitas permiten montarlo sin programar: Open WebUI (interfaz similar a ChatGPT con una base de conocimientos integrada) y AnythingLLM (espacios de trabajo + citas). Esta guía explica todo el proceso en 10 minutos, incluso en un equipo pequeño sin GPU.

Por Mohamed Meguedmi·Actualización 2026-08-27·Probado en Windows, macOS y Linux

#¿Por qué un RAG local con Ollama?

Un RAG (Retrieval-Augmented Generation) responde a una limitación simple de los LLM: solo conocen sus datos de entrenamiento. El RAG los conecta con tus documentos: PDF de procedimientos internos, notas en Markdown, exportaciones de correos, contratos, manuales —todo lo que no sea público ni reciente—. El modelo lee los pasajes pertinentes antes de responder y cita sus fuentes si la herramienta lo permite.

La versión en la nube (ChatGPT, Claude, Gemini) exige subir tus documentos a servidores externos. Para un bufete de abogados, un médico, un contador o incluso un particular que no quiere que sus notas personales vayan a Estados Unidos, es inaceptable. Un RAG local Ollama soluciona este problema: todo permanece en tu máquina y mantienes el control de los costos (cero) y de la confidencialidad.

Confidencialidad total
Tus documentos nunca abandonan la máquina. Ningún token se envía a un proveedor.
Coste marginal nulo
Sin suscripción, sin cuota de API. Pagas la electricidad, punto.
Offline
Una vez descargado el modelo, el RAG funciona sin conexión a internet.
Personalizable
Tú eliges el modelo de respuesta, el modelo de embeddings y las fuentes.

#¿Ollama permite hacer RAG de forma nativa?

El kit RAG Local

Tu IA lee tus documentos sin una línea de código. Queda la verdadera pregunta: ¿responde correctamente? El kit RAG Local parte de ahí (cap. 1), lleva Open WebUI y AnythingLLM a un uso avanzado (cap. 13) y te enseña a medir las respuestas falsas y las citas inventadas (cap. 14).

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

Respuesta clara: no. Ollama es un motor de inferencia — descarga y ejecuta LLM, expone una API compatible con OpenAI en http://localhost:11434, pero no sabe indexar tus documentos por sí solo. No tiene base de datos vectorial, ni herramienta para dividir PDF en fragmentos, ni interfaz para arrastrar y soltar archivos.

En cambio, puede servir un modelo de generación y un modelo de embeddings en paralelo: es todo lo que se necesita para que una herramienta de terceros (Open WebUI, AnythingLLM, LangChain…) construya un RAG sobre él. Cuando hablamos de RAG local con Ollama, hablamos, por tanto, siempre de una combinación de Ollama + interfaz RAG.

i
El modelo mental adecuado
Ollama = el motor (dos servicios: LLM de respuesta + LLM de embeddings). Open WebUI o AnythingLLM = la cadena: ingestión de documentos, división en chunks, cálculo de embeddings, almacenamiento vectorial, búsqueda, inyección en el prompt. Sin necesidad de escribir ninguna línea de código.

#Prerrequisitos

Ollama instalado
En Windows, macOS o Linux. Escucha por defecto en http://localhost:11434.
Un modelo de respuesta
Granite 4.2 8B o Qwen 3.5 9B en Q4_K_M. Prever aproximadamente entre 5 y 7 GB de VRAM o RAM.
Un modelo de embeddings
nomic-embed-text o mxbai-embed-large. ~300 MB. Esencial para vectorizar documentos.
Docker (opción Open WebUI)
Docker Desktop en Windows/macOS, o docker.io en Linux. Este es el modo de instalación recomendado.
Espacio en disco
10 GB mínimo para el modelo LLM + embeddings + el índice vectorial de tus documentos.
Preparar los dos modelos Ollama
# Le LLM qui va répondre
ollama pull qwen3.5:9b

# Le modèle d'embeddings (obligatoire pour le RAG)
ollama pull nomic-embed-text

# Vérifier que les deux sont bien là
ollama list

#1. Open WebUI : base de conocimientos integrada

Open WebUI (antes Ollama WebUI) es la interfaz similar a ChatGPT más popular para Ollama. Su función Knowledge (base de conocimientos) permite subir documentos y hacer preguntas sobre ellos mediante RAG, sin necesidad de configurar nada en el código.

  1. 01
    Iniciar Open WebUI en Docker
    En un terminal: docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main. En sistemas nativos de Linux, reemplazar host.docker.internal por localhost si ejecutas Ollama fuera de Docker.
  2. 02
    Abrir la interfaz
    Ir a http://localhost:3000. Crear una cuenta de administrador (la primera cuenta es de administrador por defecto). Open WebUI detecta automáticamente Ollama en localhost:11434.
  3. 03
    Crear una base de conocimientos
    Ir a Workspace → Knowledge → + Create a Knowledge Base. Darle un nombre (por ejemplo: 'Contratos de clientes'). Es tu contenedor vectorial.
  4. 04
    Importar tus documentos
    Hacer clic en el + en la esquina superior derecha de la base y luego subir tus archivos PDF, .docx, .md y .txt. Open WebUI los divide y calcula los embeddings en segundo plano.
  5. 05
    Configurar el modelo de embeddings
    Settings (admin) → Documents → Embedding Model Engine = Ollama, Embedding Model = nomic-embed-text. Guardar. De lo contrario, Open WebUI utiliza un modelo predeterminado menos adecuado para el francés.
  6. 06
    Consultar la base
    En un nuevo chat, escribir # seguido del nombre de la base de conocimientos para adjuntarla. Plantear la pregunta: la respuesta se genera a partir de los fragmentos pertinentes, con números de cita en los que se puede hacer clic.
→
Consejo para adjuntar archivos rápidamente
Si solo tienes uno o dos PDF sobre los que hacer preguntas sin crear una base de datos, también puedes arrastrar y soltar un archivo directamente en la zona de chat. Open WebUI pasa al modo RAG únicamente para ese documento durante la conversación.

#2. AnythingLLM: workspaces y citas

AnythingLLM es la alternativa más completa a Open WebUI en el ámbito del RAG. Mientras que Open WebUI es generalista, AnythingLLM está diseñado en torno a la idea de workspace: cada proyecto tiene su propia base documental, su propio modelo y su propio historial. Ideal cuando quieres separar 'Contratos de clientes' de 'Notas personales' de 'Documentación técnica'.

  1. 01
    Instalar AnythingLLM
    Descargar el instalador de escritorio en useanything.com para Windows, macOS o Linux. Es una aplicación Electron: no se necesita Docker para la versión de escritorio.
  2. 02
    Elegir Ollama como proveedor de LLM
    Al iniciarlo por primera vez, el asistente pregunta qué LLM utilizar. Seleccionar Ollama, indicar la URL http://localhost:11434 y elegir qwen3.5:9b en la lista que se carga automáticamente.
  3. 03
    Elegir el motor de embeddings
    Paso siguiente: Embedder. Seleccionar Ollama y el modelo nomic-embed-text. AnythingLLM también puede usar su embedder local integrado si no has descargado nomic-embed-text: ofrece menor calidad, pero no requiere configuración.
  4. 04
    Crear un workspace
    En la barra lateral: + New Workspace. Darle un nombre. Hacer clic en él y luego en el icono de subida para arrastrar tus PDF, .docx, .csv, .epub, URL o incluso vídeos de YouTube (transcripción automática).
  5. 05
    Mover documentos → espacio de trabajo
    AnythingLLM separa la ingestión (documentos listados a la izquierda) del uso (espacio de trabajo a la derecha). Seleccionar los documentos, hacer clic en 'Move to Workspace' y luego en 'Save and Embed'. Es en ese momento cuando se calculan los embeddings mediante Ollama.
  6. 06
    Hablar con citas
    En el workspace, plantear la pregunta. Cada respuesta incluye un panel desplegable llamado Citations que muestra exactamente qué chunks se utilizaron. Muy útil para verificar que el modelo no haya inventado información.
Open WebUI
Mejor si quieres una interfaz generalista similar a ChatGPT, multiusuario (equipo), con acceso web. El RAG es una función entre otras.
AnythingLLM
Mejor si el RAG es el uso principal: espacios de trabajo estrictamente delimitados, citas bien hechas, compatibilidad con más formatos (URL, YouTube, GitHub), agentes integrados.

#3. ¿Qué modelo de embeddings elegir?

El modelo de embeddings es el elemento que muchos pasan por alto. Es el que transforma tus documentos en vectores: su calidad condiciona directamente la relevancia de los pasajes recuperados. Con documentos en francés, algunos modelos son claramente mejores que otros.

nomic-embed-text (137M, 274 MB)
La opción recomendada por defecto. Rápido, con un rendimiento multilingüe aceptable y un contexto de 8192 tokens. Muy buen equilibrio para comenzar. Disponible directamente: ollama pull nomic-embed-text.
mxbai-embed-large (335M, 670 MB)
Más preciso que nomic, ligeramente más lento. Principalmente para inglés, pero también se desenvuelve en francés con documentos estándar. Preferible si la calidad prima sobre la velocidad. ollama pull mxbai-embed-large.
bge-m3 (567M, 1.2 GB)
Excelente para tareas multilingües (más de 100 idiomas, incluido el francés con soporte nativo), contexto de 8192. Más pesado. Disponible en Hugging Face, importable en Ollama mediante Modelfile.
snowflake-arctic-embed
Buen rendimiento multilingüe, más ligero que bge-m3. Buena alternativa si bge-m3 es demasiado pesado.
→
Regla práctica para el francés
Empieza con nomic-embed-text. Si tus resultados de RAG son pobres con PDFs técnicos en francés (jurídicos, médicos), pasa a bge-m3 o a un modelo especializado como Solon. Cambiar el modelo de embeddings obliga a reindexar toda la base — tenlo en cuenta antes de cargar 5.000 documentos.

#4. RAG local con 4 GB de RAM, sin GPU

Sí, es factible. El RAG consume menos recursos de lo que se suele pensar: la mayor parte del trabajo (los embeddings) se realiza de forma puntual durante la ingesta y, al usarlo, el LLM simplemente responde con unos miles de tokens adicionales de contexto. En una máquina pequeña, los compromisos se centran sobre todo en el LLM que genera la respuesta.

4 GB de RAM, CPU lento (antiguo portátil)
LLM: qwen3.5:2b o granite4.2:3b en Q4_K_M (~2 GB). Embeddings: nomic-embed-text. Respuestas lentas pero legibles (3-5 tok/s). El contexto del LLM pasa a 2048 para quedarse bajo el umbral de RAM.
8 GB de RAM, CPU reciente (i5/Ryzen 5)
LLM: qwen3.5:4b Q4 (~3.4 GB) o gemma4:e2b-it-qat. Embeddings: nomic-embed-text. ~6-10 tok/s. Es la configuración que «no está nada mal» sin GPU.
16 GB de RAM, sin GPU
LLM: granite4.2:8b o qwen3.5:9b Q4 (~5-7 GB). Embeddings: nomic o mxbai. ~4-8 tok/s usando solo la CPU en un Ryzen 7 o i7 reciente.
Configuración mínima con bajo consumo de RAM
# Petit LLM rapide, embeddings standards
ollama pull qwen3.5:2b
ollama pull nomic-embed-text

# Réduire le contexte pour économiser la RAM
# Dans Open WebUI : Settings → Models → qwen3.5 → num_ctx = 2048
# Dans AnythingLLM : Workspace settings → Max Tokens = 2048

# Vérifier l'usage RAM en pleine question :
ollama ps
!
Indexación = pico de carga
La ingestión de documentos grandes (cientos de páginas) es la etapa más pesada: cada chunk debe pasar por el modelo de embeddings. En una máquina pequeña, divide el trabajo: importa los documentos en lotes de 10-20 y deja que termine la indexación antes de continuar. De lo contrario, Ollama puede saturar la RAM y bloquearse a mitad del proceso.

#Solución de problemas

El modelo 'no ve' mis documentos
Comprueba que la base de conocimientos esté bien asociada al chat (Open WebUI: comando #, AnythingLLM: icono workspace). Comprueba también que se hayan generado los embeddings de los documentos, no solo que se hayan subido.
Respuestas muy lentas en modelos pequeños
El RAG agrega entre 1000 y 3000 tokens al contexto. Reduce el top-k (3-5 fragmentos en lugar de 10) en los ajustes de RAG, y reduce el num_ctx del LLM a 2048 o 4096.
Alucinaciones a pesar de los documentos
Aumenta el top-k, verifica que el modelo de embedding sea el mismo que el que indexó (cambiar de modelo invalida la base). Activa las citas para ver exactamente lo que leyó el LLM.
Open WebUI no ve Ollama
En Docker, usa --add-host=host.docker.internal:host-gateway y luego, en Settings → Connections, introduce http://host.docker.internal:11434 como URL de Ollama.
AnythingLLM se bloquea al generar los embeddings
A menudo se debe a la falta de RAM. Cierra otras aplicaciones, divide la importación en partes o pasa a un modelo de embeddings más ligero (nomic en lugar de bge-m3).

#Para ir más allá

Una vez que tengas listo tu RAG local con Ollama, estas guías son los siguientes pasos naturales para profundizar:

RAG local: introducción
La guía conceptual que explica lo que sucede bajo el capó (chunking, embeddings, retrieval), útil para entender por qué funciona o no.
Los mejores modelos de embeddings en francés
Comparativa detallada de BGE, E5 y Solon para contenido en francés — cuándo cambiar de nomic-embed-text.
Open WebUI con Ollama: guía completa
Para ir más allá del RAG en Open WebUI: múltiples usuarios, perfiles, prompts personalizados, pipelines.
Ejecutar un LLM sin GPU
Guía detallada para usar solo la CPU, con pruebas de rendimiento en tokens/segundo por CPU, si quieres optimizar tu configuración RAG sin tarjeta gráfica.
¿Esta guía te ha ayudado?

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