Monta tu API de IA estilo OpenAI con vLLM (para toda la casa)
Sirve un LLM en tu servidor con API compatible OpenAI: toda tu casa y tus apps lo usan como si fuera ChatGPT, pero gratis y tuyo.

Cuando el chat de terminal se te queda corto, toca servir inferencia en serio: una API HTTP en tu red local que consumen todas tus apps (y las de tu familia). El estándar de facto es la API de OpenAI; con vLLM la clonas en casa.
Ingredientes
- Linux con GPU (o Apple Silicon con MLX), o un servidor con 16GB+ de RAM
- Docker instalado
- Un modelo GGUF o los pesos originales
Pasos
-
Lanza vLLM con Docker:
docker run -d --name llm-api --gpus all \ -v ~/.cache/huggingface:/root/.cache/huggingface \ -p 8000:8000 \ vllm/vllm-openai:latest \ --model Qwen/Qwen2.5-7B-Instruct \ --max-model-len 16384 \ --port 8000(Sin GPU: usa
--device cpucon la imagenvllm/vllm-openai:cpuy paciencia.) -
Prueba que responde:
curl http://localhost:8000/v1/chat/completions \ -H "Content-Type: application/json" \ -d '{ "model": "Qwen/Qwen2.5-7B-Instruct", "messages": [{"role": "user", "content": "¿Por qué la IA local es mejor?"}] }' -
Punta tus apps a tu servidor: en cualquier app que use OpenAI, cambia:
- Base URL:
http://TU-IP:8000/v1 - API key: cualquiera (vLLM no la comprueba por defecto)
- Base URL:
-
Añade seguridad básica si sale de tu red: un reverse proxy con nginx y una API key real, o docker network aislada.
Resultado esperado
Una API con el mismo formato que OpenAI: /v1/chat/completions, /v1/models,
streaming incluido. Tus apps no notan la diferencia (excepto la factura: 0€).
Trucos
--max-model-len: el contexto. Cada token de contexto come VRAM en la KV cache. No pongas 128K si no lo usas.--quantization awq(o gptq) si el modelo te queda grande.- Monitoriza con
nvidia-smimientras sirves: la KV cache crece con las conversaciones largas. - Para clusters multi-máquina: llama.cpp server con
--rpco EXL3 distribuido (receta avanzada, la contaremos con nuestras dos sparks).