[ PLAYBOOK · 11 ] · 18 DE MAYO, 2026 · 7 min

Ollama para pymes: cuándo gana el modelo local.

Una Mac mini de USD 999 corriendo Ollama alcanza para dos cargas de trabajo de una pyme: cualquier cosa atada a privacidad, y cualquier prompt que se llame más de unos cientos de veces al día. Para todo lo demás, una API cuesta menos y sale antes.


La postura

La mayoría de las pymes no necesitan un modelo local. Las APIs de OpenAI, Anthropic y Google son más baratas, más rápidas de integrar y mejores en la cola larga de prompts que un equipo chico les lanzará en los primeros seis meses. Los equipos que sí deberían correr un modelo local son aquellos cuya carga de trabajo o no puede salir del edificio por motivos legales, o corre a un volumen donde la factura de la API deja de ser un error de redondeo. Para esas dos cargas, una Mac mini de USD 999 con 24GB de memoria unificada, corriendo Ollama contra un modelo abierto de clase 8B, alcanza. No impresiona. Alcanza.

Qué es "Ollama en una Mac mini" en 2026

El setup es poco glamoroso, y ese es el punto.

Ollama es una capa delgada sobre llama.cpp. Se encarga de la descarga del modelo, la selección de cuantización, el mapeo de memoria, un servidor HTTP local en el puerto 11434 y una superficie API compatible con OpenAI, de modo que el código existente que llama a openai.chat.completions.create funciona contra un modelo local con solo cambiar la base URL. El CLI es un comando (ollama run llama3.3). El servidor HTTP es con quien habla el código de producción.

La Mac mini como caja de inferencia se beneficia de la memoria unificada de Apple Silicon: la GPU lee la misma RAM que la CPU, así que una máquina de 24GB sostiene un modelo 8B cuantizado y su KV cache sin gimnasia de VRAM. La guía de hardware de Julien Simon de abril de 2026 es la referencia que usamos para dimensionar.

Los modelos son de pesos abiertos. Llama 3.1 8B, Ministral 3 8B, gpt-oss-20b de OpenAI (publicado en agosto de 2025 bajo Apache 2.0) y la familia Gemma 4 de Google son los cuatro que vale conocer. Cada uno cabe en la caja de 24GB en una cuantización sensata. Ninguno iguala a GPT-5.5 ni a Claude Opus 4.7 en razonamiento difícil. Ese es el intercambio.

La matemática de la decisión

Dos preguntas deciden si correr local. Ambas son sí o no.

¿El prompt incluye datos que no pueden salir del edificio? Si la respuesta es sí (historias clínicas bajo HIPAA, datos de clientes de la UE que el equipo legal no aprobó para una API en EE. UU., contratos internos bajo NDA), local no es una decisión de costo; es el único camino legal. La Mac mini gana por defecto. Si la respuesta es no, sigue leyendo.

¿El prompt va a correr más de unos cientos de veces al día? El punto de cruce es el volumen. Cruzado con las páginas oficiales de precios de OpenAI y Anthropic y con benchmarks de Ollama de 2026, una carga de trabajo de 1.000 requests por día contra gpt-4o-mini o claude-haiku-4.5 cuesta aproximadamente USD 30 a 45 al mes (dependiente del modelo y del largo del prompt); la misma carga en una Mac mini cuesta USD 0 marginal una vez pagado el hardware. Por debajo de 1.000 requests al día, la API resulta más barata que el hardware amortizado en cualquier horizonte razonable. Por encima de 10.000 al día, la Mac mini se paga sola en pocos meses. En el medio, la respuesta depende del largo del prompt y del modelo que el equipo realmente necesita.

Si ambas respuestas son no, corre la API. Lanza la funcionalidad. Revisa la decisión al mes seis con datos de uso reales. Hemos visto más proyectos de IA en pymes descarrilados por self-hosting prematuro que por facturas de API.

Los modelos que se ganan su lugar

Cuatro modelos de pesos abiertos vale la pena mantener en la librería de Ollama en 2026.

Llama 3.1 8B Instruct. La opción por defecto. En cuantización Q5_K_M, corre aproximadamente a 30 a 50 tokens por segundo en un chip M2 o M3, que es el piso para una carga interactiva. Fuerte en resumen, clasificación, extracción estructurada y tool calling. Débil en razonamiento de cadena larga y generación de código. Úsalo para el grueso del trabajo de texto cara al cliente donde el prompt no necesita pensar duro.

Ministral 3 8B Instruct. El lanzamiento Apache 2.0 de Mistral, de diciembre de 2025. Tamaño comparable, a menudo mejor que Llama 3.1 en prompts en idiomas europeos, incluido el español latinoamericano. La elección cuando la carga es multilingüe y el registro de cara al usuario importa.

gpt-oss-20b. El modelo de razonamiento de pesos abiertos de OpenAI, Apache 2.0, MoE con 128K de contexto. El piso declarado por OpenAI son 16GB de memoria unificada; 24GB es el mínimo práctico para un rendimiento interactivo usable, y 32GB es cómodo cuando la carga incluye documentos largos o razonamiento por pasos. Más lento por token que la clase 8B; vale el cambio para tareas donde los 8B alucinan.

Familia Gemma 4. El lanzamiento abierto de gama baja de Google. Vale conocerlo por las variantes 2B y 4B sobre hardware más modesto (M1 viejas, dispositivos de borde, single-board computers). La elección cuando la caja está acotada y la carga es estrecha.

Saltea todo lo demás de la página de librería de Ollama para el caso de pyme. Los modelos de clase 70B y 405B no caben en hardware commodity a una cuantización que preserve calidad, y la cola larga de fine-tunes (sin censura, role-play, regionales) no es lo que necesita una carga de pyme.

Dónde se rompe

Tres modos de falla aparecen en cada despliegue de modelo local que auditamos.

Latencia fuera de la red local. La Mac mini vive en la oficina. Un equipo de ventas en campo o una empresa remote-first pegándole al endpoint local sobre el internet público absorbe el round-trip más cualquier overhead de VPN, y la experiencia cae de "rápido suficiente" a "notablemente lento". O la carga se queda en el edificio o la caja se muda a un VPS barato con GPU, que es un proyecto distinto. Los servidores dedicados con GPU de Hetzner son el siguiente paso típico.

El modelo no iguala a la API en prompts difíciles. Razonamiento de varios pasos, matemática con cadena de pensamiento, generación de código largo y orquestación compleja de tools siguen siendo mejores en GPT-5.5, Claude Opus 4.7 y Gemini 3.1 Pro. Un equipo que se cambia a local pensando que la brecha se cerró se choca con esto en una semana. Mantén la API como fallback para los prompts que la necesitan; rutea por complejidad, no por ideología.

Nadie es dueño de la caja. El hardware falla. Los discos se llenan. Los modelos se actualizan. Los sistemas operativos empujan parches de seguridad que rompen un build de llama.cpp. Una API la opera un proveedor con ingenieros de guardia; una Mac mini la opera quien esté en la oficina ese día. Si nadie en el equipo está dispuesto a ser dueño de la caja, la decisión de local es deuda de mantenimiento esperando para componerse. Presupuesta el tiempo antes, no después.

Un playbook de setup

Si la matemática dice local y el equipo está listo para ser dueño de la caja, esta es la secuencia que corremos.

Paso 1. Comprar la caja correcta. El punto de entrada de 2026 es una Mac mini M4 con 24GB de memoria unificada, alrededor de USD 999. Sube a 32GB (USD 1.199) si gpt-oss-20b o cargas de 128K de contexto están en el roadmap. Saltéate el modelo base de 16GB; un modelo 8B a cuantización decente más un KV cache real más el OS no caben, y "casi cabe" trashea.

Paso 2. Instalar Ollama y elegir un modelo. brew install ollama, después ollama pull llama3.1:8b-instruct-q5_K_M. Elige un modelo para la primera carga. No instales cinco y los "vayas probando". Un solo modelo que pase el listón es la meta; un buffet de modelos a medio probar es el modo de falla.

Paso 3. Ponerla en una dirección interna estática. Resérvala en el router. Por defecto, Ollama escucha en 127.0.0.1:11434 (solo localhost); para servir a la LAN de la oficina, establece OLLAMA_HOST=0.0.0.0:11434 en el plist de launchd o en el entorno del servicio, y firewallea el puerto para que solo la LAN de la oficina llegue. No la expongas al internet público. Si hace falta acceso remoto, ponla detrás de un túnel Tailscale o WireGuard; no abras el puerto.

Paso 4. Cambiar la URL base de la API en una funcionalidad. Elige el caller de API más simple que ya exista. Cambia la URL base a http://mac-mini.local:11434/v1. Deja el resto del código idéntico. La superficie compatible con OpenAI hace que la mayoría de los SDKs funcionen sin cambios. Corre el mismo set de eval contra el endpoint local y la API. El delta de pass-rate es la brecha del modelo; si es aceptable para esa carga, lanza.

Paso 5. Sumar monitoreo y un fallback. Loguea cada request con largo del prompt, largo de la respuesta, modelo y latencia. Pon un heartbeat que pinguee el endpoint cada 60 segundos. Cablea una alerta de UptimeRobot o equivalente. Suma fallback a la API ante cualquier 5xx del endpoint local; la meta es hacer de la caja local un default más barato, no un único punto de falla.

Los equipos que salen contentos no son los del hardware más grande. Son los que eligieron una sola carga que de verdad necesitaba inferencia local, dimensionaron la caja para esa carga y se quedaron con la API para todo lo demás.