Ir al contenido
  1. Posts/

Ollama: monté mi propio ChatGPT en casa y esto es lo que aprendí

·1410 palabras·7 mins

Llevo meses corriendo modelos de IA en mi propio servidor. No como experimento de fin de semana, sino como herramienta real: un chatbot que responde preguntas sobre mi documentación, búsqueda semántica sobre mis notas, generación de embeddings para un motor de búsqueda interno.

La experiencia me ha enseñado tanto de lo que funciona como de lo que no.

El setup
#

Mi servidor de IA es un Unraid que llamo “Phatt”. Las specs relevantes:

  • CPU: Intel Xeon E5-2695 v4 (18 cores, 36 threads, 2.1GHz)
  • RAM: 512GB DDR4
  • GPUs: 2x NVIDIA RTX A2000 (12GB VRAM cada una)
  • Storage: 25TB en array, más un NVMe para cache

Las GPUs son lo importante. Las A2000 las compré de segunda mano por unos 250€ cada una. Son tarjetas profesionales (de la familia Quadro, básicamente) con 12GB de VRAM. No son las más rápidas del mundo, pero tienen más VRAM que una RTX 3060 (12GB también, pero la A2000 es más eficiente en inferencia) y consumen solo 70W.

Ollama corre como contenedor Docker en Unraid, con passthrough de las GPUs.

Los modelos que uso de verdad
#

He probado docenas de modelos. Estos son los que se han quedado en producción:

Gemma 3 12B, el todoterreno
#

Google sacó la familia Gemma y el modelo de 12B parámetros es el sweet spot para 12GB de VRAM. Cabe entero en una A2000, responde en 2-3 segundos, y la calidad es sorprendentemente buena para tareas en español.

Lo uso como motor de chat para un “Segundo Cerebro”, un sistema que busca en mis notas de Logseq, mi CRM, mis archivos, y le pide a Gemma que sintetice la respuesta. Funciona notablemente bien para preguntas concretas ("¿Cuándo fue la última vez que hablé con un contacto del CRM?", “¿Qué decidimos sobre un proveedor?”).

¿Es tan bueno como Claude o GPT-4? No. Pero para consultas internas donde la privacidad importa (datos de clientes, contratos, información financiera), tener un modelo que no envía nada fuera de mi red vale mucho.

Nomic Embed Text, el silencioso
#

Este no es un modelo de chat, es un modelo de embeddings. Convierte texto en vectores numéricos que luego puedes usar para búsqueda semántica.

En la práctica: tengo una base de datos vectorial (ChromaDB, también self-hosted) donde almaceno los embeddings de todos mis documentos. Cuando busco algo, no estoy buscando por palabras clave, estoy buscando por significado. “Problemas con el contrato de distribución” encuentra documentos que hablan de “renegociación del acuerdo comercial” aunque no compartan ni una palabra.

Nomic es pequeño (300MB), rápido, y bastante bueno para embeddings multilingües. Lo tengo cargado permanentemente.

Lo que probé y descarté
#

DeepSeek R1 (1.5B): Lo probé como modelo de razonamiento. El problema es que DeepSeek es un modelo de “thinking” que genera su proceso de razonamiento antes de responder. Para chat directo, esto se traduce en bloques de texto entre etiquetas <think> que son inútiles para el usuario. Lo descarté.

Llama 3 70B: Intenté correrlo en las dos A2000 combinadas (24GB de VRAM entre las dos). Técnicamente funciona con offloading CPU/GPU, pero los tiempos de respuesta superaban los 30 segundos. Inaceptable para uso interactivo. Si quieres modelos de 70B+, necesitas una GPU con 48GB de VRAM como mínimo (A6000, RTX 6000 Ada).

Mistral 7B: Bueno en inglés, aceptable en español, pero Gemma 3 12B lo supera en todo y cabe igualmente en 12GB de VRAM. No tenía sentido mantenerlo.

GPU vs CPU: la diferencia es brutal
#

Sin GPU, la IA local no merece la pena para uso interactivo.

Hice la prueba con Gemma 3 12B:

  • GPU A2000 (12GB VRAM): 2-3 segundos para una respuesta media
  • CPU Xeon 72 threads: 25-30 segundos para la misma respuesta
  • CPU i5-12400 (6 cores): 40-50 segundos

Con la GPU, es una experiencia de chat normal. Con la CPU, es como hablar con alguien que tarda 30 segundos en procesar cada frase. Para uso por lotes (generar embeddings de 1000 documentos overnight, por ejemplo) la CPU vale. Para chat interactivo, no.

¿Qué GPU comprar?
#

Si estás montando un servidor de IA para homelab, estas son mis recomendaciones pragmáticas:

Presupuesto ajustado (200-300€): NVIDIA A2000 12GB de segunda mano. Es lo que yo tengo. 12GB de VRAM es el mínimo útil, y la A2000 es eficiente en consumo (70W). Búscalas en eBay o Wallapop.

Presupuesto medio (400-600€): NVIDIA RTX 3090 de segunda mano. 24GB de VRAM. Es una bestia, consume como una, pero te permite correr modelos de 14-27B sin offloading. La relación VRAM/precio es imbatible.

Presupuesto alto (1000€+): NVIDIA A5000 o RTX 4090. 24GB de VRAM con arquitectura más moderna y eficiente. O si puedes estirarte, una A6000 con 48GB para correr modelos de 70B.

AMD también funciona con Ollama (soporte ROCm), pero la compatibilidad es peor y hay más problemas de drivers. NVIDIA sigue siendo la apuesta segura para IA.

Integrando Ollama con todo
#

Ollama expone una API REST compatible con el formato de OpenAI:

1
2
3
4
5
curl http://phatt:11434/api/generate -d '{
  "model": "gemma3:12b",
  "prompt": "¿Qué ventajas tiene Proxmox sobre Unraid?",
  "stream": false
}'

Esto significa que cualquier herramienta que soporte la API de OpenAI funciona con Ollama cambiando solo la URL base. Y hay muchas:

Open WebUI es una interfaz de chat tipo ChatGPT que se conecta a Ollama. La instalas como contenedor Docker y tienes un ChatGPT privado accesible desde el navegador. Con historiales de conversación, múltiples modelos, y hasta RAG integrado.

Continue es una extensión de VS Code que usa Ollama como copilot de código. No es tan bueno como GitHub Copilot (que usa modelos mucho más grandes), pero para autocompletado básico y explicaciones de código, funciona.

Home Assistant puede usar Ollama como procesador de lenguaje natural para su asistente de voz. “Apaga las luces del salón” → Ollama entiende el intent → Home Assistant ejecuta.

n8n (automatización) tiene nodos nativos para Ollama. Puedes crear workflows donde un email llega, Ollama lo analiza y lo clasifica, y n8n toma acciones según la clasificación. Todo en local, sin enviar datos a ninguna API externa.

Cuándo NO merece la pena
#

Mucho artículo sobre IA local peca de optimismo. Hay que matizar:

Si necesitas la máxima calidad de respuesta, la nube gana. Claude Opus, GPT-4o, Gemini Ultra… son modelos de 500B+ parámetros corriendo en clusters de miles de GPUs. Un modelo de 12B en una A2000 no se le acerca. Para tareas complejas (código largo, análisis profundos, escritura creativa exigente), los modelos cloud son otro nivel.

Si no tienes GPU, no te molestes en chat interactivo. 30 segundos por respuesta no es una experiencia de usuario aceptable. Mejor gastar 20€/mes en una suscripción a Claude Pro que 300€ en un servidor que responde lento.

Si solo necesitas un chatbot personal, no justifica montar un servidor. El coste real de un servidor de IA (GPU + electricidad + mantenimiento) supera fácilmente las suscripciones cloud para uso individual.

Cuándo SÍ merece la pena
#

Privacidad real. Datos de clientes, información financiera, documentos legales, información médica. Si no quieres que estos datos salgan de tu red, la IA local es la única opción. Y esto solo va a ser más importante con el tiempo.

Embeddings y búsqueda semántica. Generar embeddings es una tarea de lotes donde la velocidad importa menos. Y tener un motor de búsqueda semántico sobre tus documentos internos es increíblemente útil.

Integración profunda. Cuando conectas Ollama con tu NAS, tu CRM, tu base de conocimiento, tus automatizaciones… el valor emerge de la integración, no del modelo en sí.

Experimentación y aprendizaje. Si te interesa entender cómo funciona la IA por dentro, tener tu propio setup es invaluable. Pruebas modelos, cambias parámetros, ves los logs, entiendes qué pasa. Con una API cloud eres un consumidor. Con tu propio Ollama eres un operador.

Conclusión
#

La IA local con Ollama es una herramienta real y útil para homelabs, pero hay que saber para qué es buena y para qué no. No va a reemplazar a ChatGPT. Lo que va a hacer es darte capacidades de IA privadas, integradas con tu infraestructura, y sin depender de nadie.

Si tienes un homelab con una GPU decente, instala Ollama. Es un comando. Prueba Gemma 3 12B. Conecta Open WebUI. Y luego piensa qué datos tienes que podrías hacer más accesibles con búsqueda semántica.

Ahí es donde empieza lo interesante.


Mi servidor Ollama genera unos 200 embeddings al día y responde unas 50 consultas de chat. Consume menos de 100W con la GPU idle. El café de la oficina sale más caro.