Elegir el modelo de Ollama correcto para tu WordPress no es trivial. Hay más de 50 opciones en el registry oficial y cada una tiene un trade-off distinto entre calidad, velocidad y consumo de RAM. Esta guía te ayuda a decidir según tu caso de uso real.
Metodología
He probado 8 modelos representativos en un VPS 4 vCPU / 16 GB RAM sin GPU, ejecutando tareas reales de WordPress:
- Generación de meta-descripciones (10 artículos, 155 chars max)
- Reescritura de borradores (8 artículos de ~800 palabras)
- Análisis SEO (keyword research + títulos optimizados)
- Resumen de comentarios (50 comentarios reales)
- Moderación de comentarios (clasificación spam/legítimo)
Cada modelo se evaluó en 3 ejes:
- Calidad (1-5): valoración humana del output. ¿Es publicable tal cual o necesita edición?
- Velocidad (tokens/segundo): medido con
ollama benchmark. - RAM: consumo en GB del modelo cargado (model size + KV cache).
Tabla comparativa
| Modelo | Parámetros | RAM | tok/s | Calidad | Ideal para |
|---|---|---|---|---|---|
| llama3.1:8b | 8B | ~5 GB | ~45 | 4.0 | General, primer deploy |
| qwen2.5:14b | 14B | ~10 GB | ~28 | 4.4 | Multilingüe ES/EN, SEO |
| mistral:7b | 7B | ~4.5 GB | ~52 | 3.6 | Velocidad, bajo consumo |
| codellama:13b | 13B | ~9 GB | ~25 | 4.2 | Generación de código, scripts |
| phi3:14b | 14B | ~9 GB | ~32 | 4.1 | Tareas estructuradas, JSON |
| gemma2:9b | 9B | ~6 GB | ~40 | 4.0 | Buen balance general |
| llama3.2:3b | 3B | ~2.5 GB | ~80 | 3.2 | Tareas triviales, máxima velocidad |
| deepseek-r1:8b | 8B | ~5.5 GB | ~38 | 4.3 | Razonamiento, debugging |
Análisis por caso de uso
Operación general de WordPress (recomendado para empezar)
llama3.1:8b es el default razonable. Genera meta-descripciones aceptables, resume comentarios correctamente, y su latencia (~45 tok/s) hace que una llamada típica de 500 tokens tarde unos 11 segundos. Es el único modelo donde el output suele ser publicable sin edición para tareas SEO básicas.
Si tienes 16 GB de RAM y quieres más calidad sin sacrificar velocidad, salta a qwen2.5:14b — especialmente bueno en español (entrenado con corpus multilingüe más grande que llama).
Generación de código (scripts WP-CLI, snippets PHP, SQL)
codellama:13b es el rey. Entiende el contexto de WordPress (hooks, filtros, queries SQL), genera código que compila a la primera, y respeta las convenciones del código base. Para tareas como «dame un script WP-CLI que exporte todos los posts en JSON con sus metadatos SEO» genera código funcional en 1-2 iteraciones.
Tareas estructuradas y JSON (clasificación, extracción, RAG)
phi3:14b brilla aquí. Su afinación para instrucciones estructuradas hace que outputs como «dame un JSON con {categoria, prioridad, accion}» sean consistentemente válidos sin caracteres extra. Para workflows que alimentan Qdrant, phi3 es más fiable que llama.
Razonamiento y debugging (análisis de logs, diagnosis)
deepseek-r1:8b destaca. Hace «chain-of-thought» implícito, razona sobre las hipótesis antes de proponer la solución, y sus análisis de logs son más precisos. Si tu principal uso va a ser «tengo este error, ¿qué pasa?», deepseek-r1 es tu modelo.
Velocidad bruta y bajo consumo
llama3.2:3b para tareas triviales como «clasifica este comentario como spam/legítimo». Con ~80 tok/s, puedes moderar 100 comentarios en 4 minutos. Su RAM de 2.5 GB lo hace ideal para correr en paralelo con un modelo más grande.
Estrategia multi-modelo (recomendada)
En producción, lo mejor no es elegir uno único, sino combinarlos según tarea:
# /opt/d0a1/compose/ollama/.env
# Modelo principal (calidad, multilingüe)
OLLAMA_MODEL_QUALITY=qwen2.5:14b
# Modelo rápido (clasificación, JSON simple)
OLLAMA_MODEL_FAST=llama3.2:3b
# Modelo de código (scripts, SQL)
OLLAMA_MODEL_CODE=codellama:13b
# Modelo de razonamiento (análisis, debug)
OLLAMA_MODEL_REASON=deepseek-r1:8b
Los workflows de n8n pueden enrutar según el tipo de tarea. Ejemplo:
# En un Code node de n8n (JavaScript):
const task = $json.task_type;
const modelMap = {
'seo': 'qwen2.5:14b',
'classify': 'llama3.2:3b',
'code': 'codellama:13b',
'analyze': 'deepseek-r1:8b',
'moderate': 'llama3.2:3b',
'generate': 'qwen2.5:14b'
};
return { model: modelMap[task] || 'llama3.1:8b' };
Requisitos de hardware
| Setup | Modelos simultáneos | RAM recomendada | vCPU recomendado |
|---|---|---|---|
| Mínimo | 1 (un modelo a la vez) | 8 GB | 2 |
| Estándar | 2 (rápido + calidad) | 16 GB | 4 |
| Pro | 3-4 (con cuantización Q4) | 32 GB | 8 |
| Con GPU | Cualquiera + velocidad 10x | 16 GB + 8+ GB VRAM | 4 |
Cuantización: cómo afecta
Por defecto Ollama descarga los modelos en Q4_0 (cuantización 4-bit). Esto reduce el uso de RAM ~75% con pérdida de calidad <5%. Para más calidad, puedes descargar variantes:
# Q4_0 (default, mejor balance)
ollama pull qwen2.5:14b
# Q5_K_M (más calidad, +30% RAM)
# No disponible como tag directo, usar modelfile
# Q8_0 (máxima calidad CPU, +60% RAM)
# Tampoco tag directo
# FP16 (calidad original, +200% RAM, solo para GPU)
# No usar en CPU
En CPU, quédate con Q4_0. La diferencia con Q5 apenas se nota y el coste de RAM no compensa.
Conclusión
Si solo vas a usar un modelo, empieza con llama3.1:8b o qwen2.5:14b (este último si necesitas ES/EN fuerte). A medida que crezca tu uso, añade llama3.2:3b para tareas de clasificación y codellama:13b si generas scripts regularmente.
Y recuerda: ningún modelo local te cobra por token. El único coste es el VPS.
