Ollama, vLLM, SGLang y MLX: qué usar
La pregunta real no es cuál es mejor, sino cuál encaja con tu tarea, tu hardware y tu nivel de operación. Prototipar, servir a varios usuarios y exprimir un Mac no piden la misma herramienta.
Objetivos de aprendizaje
- Elegir runtime según caso de uso: prueba, RAG, agente o producción.
- Evitar migraciones prematuras que complican sin aportar valor.
- Medir latencia, memoria y errores antes de decidir.
En cristiano: runtime de inferencia. Es el programa que carga el modelo y responde peticiones. El modelo puede ser el mismo, pero la experiencia cambia muchísimo según el runtime.
Decisión rápida
- Ollama: empezar rápido, demos, escritorio, cursos y prototipos.
- llama.cpp: control fino, GGUF, CPU/GPU sencilla y despliegues pequeños.
- vLLM: muchas peticiones, API compatible, batching y GPU NVIDIA.
- SGLang: serving avanzado, flujos estructurados y cargas complejas.
- MLX: Apple Silicon, experimentación local eficiente en Mac.
Terminal
Mide antes de opinar: caso: "chat_rag_pyme" modelo: "qwen-coder/local" hardware: "Mac M4 24GB" runtime: "Ollama" metricas: first_token_ms: 850 tokens_s: 28 ram_gb: 11 errores_20_preguntas: 2 decision: "suficiente para prototipo; no migrar todavía"
Idea clave. Si solo tienes un usuario y una cola pequeña, Ollama puede ser suficiente. Si empiezas a tener concurrencia, colas y acuerdos de tiempo de respuesta, mira vLLM, SGLang o un gateway.
Cuidado. No mezcles benchmark de internet con tu caso. Un ranking no sabe si tus documentos son largos, si usas tool calling o si tu GPU se queda sin VRAM.
Comprueba que funciona. Ejecuta las mismas 20 preguntas con el mismo prompt, modelo y documentos en dos runtimes. Compara latencia, errores, consumo y facilidad de operación.
Guardar y reabrir el proyecto.
Guarda una tabla de decisión por proyecto. Dentro de tres meses te evitará discutir otra vez por qué elegiste ese stack.