Guía: montar LLMs propios en producción con Ollama + LiteLLM en un VPS con GPU (con gobernanza y control de gasto)
Vengo de armar esta infraestructura para poder dejar de depender de APIs comerciales y me pareció que valía la pena documentar el proceso completo, porque casi todos los tutoriales que encontré se quedan en "instalá Ollama y corré ollama run", que no es producción.
El stack son tres contenedores sobre Docker Compose:
- Ollama ejecutando modelos abiertos acelerados por GPU.
- LiteLLM como proxy compatible con la API de OpenAI: API keys por usuario, límite de presupuesto en USD, logs de gasto y ruteo de modelos.
- PostgreSQL para la persistencia de LiteLLM (keys, equipos, consumo).
Ollama y Postgres solo hablan por la red interna de Docker. El único puerto expuesto es el 4000 de LiteLLM, y filtrado por UFW.
El hardware que usé fue un VPS con GPU de 20 GB de VRAM (Ada Lovelace). Números reales que medí:
- Modelos de hasta 12B-14B entran completos en GPU. Más grandes (31B) obligan a offloading a CPU y la velocidad se cae feo.
- 35-50 tokens/segundo con un modelo de 12B para un solo usuario.
- 5-10 usuarios concurrentes en tiempo real sin que el TTFT se vuelva molesto, o 50-100 usuarios activos intermitentes.
Dos cosas que me costaron y que dejo documentadas por si le sirven a alguien:
- El driver de NVIDIA tiene que ser 550 o más nuevo para Ada Lovelace. Con uno viejo, llama.cpp detecta incompatibilidad, cae a CPU en silencio y te termina comiendo la RAM del host hasta matar procesos.
- Cada modelo que bajás con
ollama pullhay que registrarlo a mano en elmodel_listde LiteLLM, si no, no existe para la API.
Dejé el repo con el docker-compose y los archivos de config para que lo puedan clonar directo. La guía completa con capturas está acá: https://bramen.org/tutorials/litellm-ollama-despliegue-llm-produccion/
Si alguien ya corrió algo parecido, me interesa saber qué usan para la parte de gobernanza. LiteLLM me resolvió bien lo de las keys y presupuestos, pero seguro hay alternativas que no vi.
Visto en r/InteligenciArtificial