Ollama convirtió correr un modelo de lenguaje local en un comando de una línea. Pero "funciona en mi laptop" y "funciona en producción" son problemas distintos, y aquí está la diferencia.
Ollama es una capa de empaquetado y servido sobre llama.cpp que resuelve el problema real de correr LLMs localmente: descargar pesos, cuantizarlos correctamente, cargarlos en GPU o CPU, y exponerlos vía una API REST compatible (parcialmente) con la de OpenAI. No es un motor de inferencia nuevo — es llama.cpp con una experiencia de desarrollador decente encima, más un registro de modelos tipo Docker Hub.
La pieza clave es el "Modelfile": un manifiesto declarativo (similar a un Dockerfile) que define el modelo base, el prompt de sistema, parámetros de muestreo (temperature, top_p, num_ctx) y plantillas de chat. Esto permite versionar configuraciones de modelo como código, algo que con llama.cpp puro requería scripts caseros.
Ollama distribuye modelos en formato GGUF, típicamente cuantizados a 4 bits (Q4_K_M es el default de facto). Esto reduce un modelo de 8B parámetros de ~16GB en FP16 a ~4.7GB, permitiendo correrlo en una GPU de 8GB o incluso en CPU con RAM suficiente. El costo es una degradación medible en tareas de razonamiento complejo y generación de código — en benchmarks internos que hemos corrido para clientes, la caída entre Q4 y FP16 ronda 2-5% en MMLU pero puede ser más notoria en tareas de instrucción larga o function calling.
Para producción, la recomendación técnica es clara: Q8_0 o FP16 si tienes la VRAM, Q4_K_M si el hardware es la restricción dura. Nunca uses cuantizaciones agresivas (Q2, Q3) para nada que no sea prototipado desechable.
Hay tres escenarios donde correr localmente tiene sentido de negocio real, no solo ideológico: datos que no pueden salir de la red por regulación (información médica, financiera, contratos legales), volumen de inferencia alto y constante donde el costo por token de una API supera el costo amortizado de hardware propio, y latencia — un modelo local en la misma red no tiene el round-trip de una API externa.
Un caso concreto: para un cliente en el sector legal en Guatemala con documentos que no podían salir del país por cláusulas de confidencialidad contractual, montamos un pipeline de extracción y clasificación de contratos con Ollama corriendo Qwen2.5 14B sobre un servidor con una RTX 4090, sirviendo ~15,000 documentos/mes sin tocar ninguna API externa.
Ollama no está pensado para servir tráfico concurrente alto. Su motor de batching es limitado comparado con vLLM o TGI (Text Generation Inference) — con múltiples requests simultáneos, la latencia por request crece de forma casi lineal porque no hay continuous batching real hasta versiones recientes, y sigue siendo menos eficiente que soluciones diseñadas para servir a escala. Si tu carga es más de unos pocos usuarios concurrentes por GPU, evalúa vLLM.
Tampoco resuelve el problema de modelos de contexto muy largo de forma eficiente: aunque puedes subir `num_ctx` a 32k o 128k según el modelo, el consumo de VRAM crece con el KV cache y en hardware modesto esto se vuelve el cuello de botella real antes que el modelo mismo.
La API de Ollama expone endpoints `/api/generate`, `/api/chat` y desde hace tiempo un modo de compatibilidad OpenAI en `/v1/chat/completions`, lo que permite apuntar librerías como LangChain, LlamaIndex o el SDK de OpenAI directamente a un endpoint local cambiando solo el `base_url`. Esto simplifica mucho migrar un prototipo hecho contra GPT-4 a un modelo local para validar costos antes de decidir arquitectura final.
Si necesitas servir cientos de requests concurrentes por segundo, si necesitas features de producción como paralelismo de tensores multi-GPU serio, o si tu equipo ya tiene experiencia operando Kubernetes y necesita autoscaling fino, herramientas como vLLM, TGI o un servicio administrado tienen mejor ROI operativo. Ollama es la herramienta correcta para desarrollo, prototipado, escritorios de analistas, y despliegues de carga baja-media donde la simplicidad operativa pesa más que el throughput máximo.
Carlos Montiel es arquitecto de soluciones IA empresarial. Implementa LLMs, Agentes, RAG y orquestadores en empresas de Guatemala y Latinoamérica. Contáctalo para una consultoría.
Contactar a Carlos Montiel