vLLM
Versión vigente 0.32.02026-10-18Árbol auditado tag v0.32.0 (2026-10-18)Licencia Apache-2.0
vLLM 0.32.0 no está pensado para tu ordenador: sirve modelos desde servidores Linux y en Windows, oficialmente, solo funciona a través de WSL. Las estadísticas de uso vienen activadas de fábrica (un latido cada 10 minutos a stats.vllm.ai), y vLLM es el único de los cinco que escucha en todas las interfaces sin clave (0.0.0.0:8000). Apache-2.0, código público.
Motor de inferencia pensado para servir modelos a mucha gente a la vez, no para chatear en un portátil. Es el estándar de facto en servidores con GPU NVIDIA.
Pasos hasta el primer token
Medido por Local AI Scope
Sitios a los que llama de fábrica
Medido por Local AI Scope
Licencia
Medido por Local AI Scope
Vídeos: vLLM 4
Lo oficial y las mejores pruebas que hemos encontrado. Pulsa y se abre aquí mismo.
Los vídeos están en YouTube y no se carga nada de allí hasta que pulsas (modo sin cookies). La miniatura la servimos nosotros.
Cómo lo hemos comprobado
Todo lo que esta ficha dice sobre la red sale de leer el código publicado y la documentación oficial en la fecha indicada, no de observar el tráfico. Todavía no hemos puesto el programa delante de un analizador de red, así que esto es análisis estático, no observación. Esa captura la tenemos en la lista; el día que la haya, estas celdas suben un nivel de evidencia. Hasta entonces, nada de presumir de haber mirado los paquetes: hemos leído la receta, no hemos probado el plato.
Qué sale de tu equipo
Antes de dejar que un programa local se acerque a tus documentos, le hacemos cuatro preguntas: qué manda por su cuenta, a quién más llama, en qué dirección escucha y si puedes comprobarlo tú mismo. Vamos, una entrevista de trabajo en toda regla.
Telemetría de fábrica
Sí, activada de fábrica, y no es un aviso al arrancar: es un latido cada diez minutos. Verificado por nosotros en la fuente primaria
Que vLLM recoge estadísticas de uso por defecto sí está documentado. Lo que no está en la documentación, y solo aparece leyendo el código, es que no es un envío único: la función de informe continuo ejecuta un bucle infinito que duerme 600 segundos y vuelve a hacer POST, mientras el proceso viva. El destino tampoco está en la documentación: hay que ir al código para encontrar stats.vllm.ai. Los fallos de red se ignoran en silencio. Lo que sale: identificador aleatorio de la ejecución, proveedor de nube detectado leyendo los identificadores del hardware, número de núcleos, marca del procesador y familia/modelo/stepping, memoria total, cadena completa del sistema operativo, versión de CUDA, número de GPU con modelo y memoria por dispositivo, cinco variables de entorno, arquitectura del modelo cargado y, en la ruta del servidor, otra veintena de parámetros de arranque. A su favor, y hay que decirlo: es el único de los cinco que te deja ver exactamente lo que manda, en ~/.config/vllm/usage_stats.json, y ofrece cuatro formas de apagarlo.
«Report usage every 10 minutes. This helps us to collect more data points for uptime of vLLM usages.»
Cómo se apaga: Cualquiera de estas cuatro: VLLM_NO_USAGE_STATS=1, DO_NOT_TRACK=1, VLLM_DO_NOT_TRACK=1, o crear el fichero ~/.config/vllm/do_not_track. La documentación publica tres: las variables VLLM_NO_USAGE_STATS y DO_NOT_TRACK, y el fichero. VLLM_DO_NOT_TRACK está solo en el código.
Fuente · consultado el 2026-10-23
Otras llamadas a casa
| Qué | A dónde | Cuándo | Se puede evitar | Evidencia |
|---|---|---|---|---|
| Estadísticas de uso | stats.vllm.ai |
Al arrancar y cada 10 minutos, siempre, salvo que lo desactives. | Sí, por cuatro vías distintas | verificado por nosotros |
| Descarga de modelos, identificándose como vLLM | huggingface.co (o modelscope) |
Al cargar un modelo que no está en caché. Es el único de los cinco que le dice a Hugging Face qué runtime y qué versión está descargando. | HF_HUB_OFFLINE=1 | verificado por nosotros |
| Comprobación y descarga de kernels de FlashInfer, del servidor de NVIDIA | edge.urm.nvidia.com |
Al arrancar, si vLLM usa FlashInfer, o solo lo evalúa, y faltan sus kernels precompilados: normalmente vLLM pregunta primero si el servidor de NVIDIA responde (una petición, con 5 segundos de límite) y FlashInfer descarga después los kernels que le faltan. Instalado con pip (la imagen Docker ya los trae), en las Blackwell de centro de datos (B200, B300) sale solo con casi cualquier modelo; en una H100 o una RTX 50 puede salir con modelos como gpt-oss. | Lanzar vllm download-kernels una vez después de instalar (es un paso aparte de pip): con los kernels en disco, normalmente no sale ninguna de las dos. FLASHINFER_NO_DOWNLOAD=1 frena la descarga, no la comprobación de vLLM | verificado por nosotros |
| Endpoint de métricas de Prometheus: local, no sale nada de tu equipo | local: no sale nada del equipo |
Siempre: /metrics viene montado por defecto. Al no estar bajo /v1, la clave de API no lo cubre. | No documentado | verificado por nosotros |
| Imágenes, audio o vídeo que una petición pasa como dirección web | la dirección web que traiga la petición, sea cual sea |
Solo cuando una petición al servidor (chat, /v1/responses, /v1/messages, embeddings, puntuación…) trae una imagen, un audio o un vídeo como dirección http(s): el servidor lo descarga él mismo antes de contestar, presentándose como vLLM y su versión, y siguiendo redirecciones. En el chat, con un modelo solo de texto, la petición da error antes de descargar nada. | --allowed-media-domains la limita a los dominios que pongas; o incrusta tus medios (base64). VLLM_MEDIA_URL_ALLOW_REDIRECTS=0 deja de seguir redirecciones |
verificado por nosotros |
Fuente · consultado el 2026-10-23
En qué dirección escucha
| Ajuste | De fábrica |
|---|---|
| Escucha en | 0.0.0.0:8000 |
| Autenticación de fábrica | ninguna |
| CORS de fábrica | Cerrado desde la 0.32.0: ninguna página de otro sitio puede leer sus respuestas en tu navegador hasta que apuntes su origen en --allowed-origins (hasta la 0.31.0, cualquier origen, método y cabecera). Solo frena al navegador: el servidor sigue escuchando en 0.0.0.0 sin clave |
Esta es la que importa. En la versión publicada, el parámetro de host viene sin valor y se resuelve en la cadena vacía, y enlazar a la cadena vacía sobre IPv4 es INADDR_ANY, o sea 0.0.0.0. Un `vllm serve modelo` sin más parámetros deja el modelo a disposición de toda la red local, sin contraseña. Comprobamos el mismo valor por defecto en ocho versiones: no es una regresión reciente. Y hay un segundo piso: su propia página de seguridad reconoce que la clave de API no basta, porque solo cubre los prefijos /v1, /v2, /inference y /cohere mientras otros endpoints sensibles quedan sin autenticar en el mismo servidor. Su recomendación es ponerlo detrás de un proxy inverso. Un tercer detalle: vLLM usa torch.distributed de PyTorch, y cuando lo monta sobre TCP —entre varios equipos, con paralelismo de datos o en tarjetas AMD con el all-reduce de AITER— el TCPStore de PyTorch escucha en todas las interfaces de red, algo que el propio proyecto califica de inseguro por defecto. En un solo equipo con tarjetas NVIDIA y sin paralelismo de datos, la 0.32.0 usa un fichero en su lugar. Verificado por nosotros en la fuente primaria
«The --api-key flag (or VLLM_API_KEY environment variable) provides authentication for vLLM’s HTTP server, but only for OpenAI-compatible API endpoints under the /v1 path prefix […]. Many other sensitive endpoints are exposed on the same HTTP server without any authentication enforcement.»
Fuente · consultado el 2026-10-23
¿Se puede auditar?
Sí. Apache-2.0, el único de los cinco que no es MIT ni propietario. Todo lo que dice esta ficha del latido de diez minutos y del 0.0.0.0 se leyó en el código de la etiqueta publicada, no se dedujo de la documentación, que en los dos casos dice algo menos completo y en uno de ellos dice lo contrario. Verificado por nosotros en la fuente primaria
Fuente · consultado el 2026-08-25
Política de privacidad
No hay política de privacidad al uso: hay una página de documentación que explica qué recogen y cómo desactivarlo, y que anuncia que publicarán un subconjunto limpio y agregado en beneficio de la comunidad. declarado por el fabricante Fuente
Qué ejecuta y dónde
Plataformas, aceleradores y formatos de modelo: los tres muros con los que te puedes topar esa primera noche de ilusión. Mejor descubrirlos aquí que a medianoche con el modelo a medio descargar.
Dónde funciona
| Plataforma | Soporte | Evidencia |
|---|---|---|
| Windows | No hay soporte nativo. La vía oficial es WSL. | declarado por el fabricante |
| macOS Apple Silicon | Experimental y solo por CPU: su documentación dice que hay que compilar desde el código. La GPU no va por vLLM: va por un complemento de la comunidad que usa MLX por debajo y exige modelos en formato MLX. | declarado por el fabricante |
| macOS Intel | No lo hemos podido verificar. No hay ruedas ni documentación para Mac Intel; la sección de Apple Silicon es la única de macOS que existe y sus ruedas son arm64. Reportamos la ausencia, no un «no». | sin verificar |
| Linux | Sí, es su plataforma. Python 3.11 a 3.14 según la documentación (la 0.32.0 dejó fuera la 3.10). | declarado por el fabricante |
Qué acelera
| Motor | Estado | Evidencia |
|---|---|---|
| CUDA | Sí, y es el caso de primera clase: el único que su propia web marca como popular. Exige capacidad de cómputo 7.5 o superior, lo que deja fuera las GTX 10xx y anteriores. | declarado por el fabricante |
| ROCm | Sí, con índice de paquetes propio, pero más estrecho que CUDA: para la 0.32.0, Python 3.12, ROCm 7.2.3 y glibc 2.39 o posterior. | verificado por nosotros |
| CPU | Sí, con limitaciones: x86 (recomiendan AVX512, con AVX2 solo funciones limitadas), ARM con NEON, e IBM Z. | declarado por el fabricante |
| Metal | No, solo por complemento externo: vLLM-Metal, mantenido por la comunidad, que usa MLX por debajo. | declarado por el fabricante |
| NPU / aceleradores | No en el repositorio principal. TPU de Google, Intel Gaudi, AWS Neuron y Ascend son paquetes separados desde la 0.27. | declarado por el fabricante |
| Vulkan | No lo hemos podido verificar. No aparece en su página de plataformas soportadas y no hay declaración en ningún sentido. | sin verificar |
Formatos de modelo que ejecuta
safetensors de forma nativa, más AWQ, GPTQ, FP8, compressed-tensors, bitsandbytes y una veintena más de esquemas de cuantización. GGUF ya no viene incluido: desde la 0.27 se ha sacado a un complemento aparte y ellos mismos lo siguen calificando de altamente experimental. Cualquier texto que diga «vLLM soporta GGUF» sin ese matiz está desfasado. verificado por nosotros
Fuente · consultado el 2026-08-25
Instalarlo y convivir con él
El día a día: cuántos pasos hasta el primer token, qué deja en tu disco, bajo qué licencia y a qué ritmo cambia bajo tus pies una vez instalado.
Pasos hasta el primer token
2 pasos. Instalar el paquete (desde la 0.32.0, seguido de `vllm download-kernels`) y ejecutar `vllm serve <modelo>`. No hay interfaz: se habla con él por API. La dificultad no está en instalarlo, sino en que no hay nada que mirar y hay que entender los parámetros de memoria. verificado por nosotros
Paso a paso: instalarlo, arrancar un primer modelo en el puerto 8000 y cerrar lo que abre a la red
Si algo falla: 8 errores, el mensaje exacto de cada uno y el arreglo
Qué escribe en tu disco
| Qué | Dónde | Evidencia |
|---|---|---|
| Una copia local de la telemetría que envía: su documentación te invita a leerla, y es el único de los cinco que te enseña exactamente lo que sale | ~/.config/vllm/usage_stats.json |
verificado por nosotros |
| Fichero centinela para desactivar la telemetría: lo creas tú | ~/.config/vllm/do_not_track — lo creas tú |
verificado por nosotros |
| Caché de compilación de PyTorch | ~/.cache/vllm (VLLM_CACHE_ROOT) |
declarado por el fabricante |
| Modelos: la caché de Hugging Face | ~/.cache/huggingface — la caché de Hugging Face (HF_HOME) |
declarado por el fabricante |
| Historial de conversaciones: no existe. Es un servidor de API sin interfaz de chat y no persiste nada de las peticiones | En ningún sitio: no se escribe nada | verificado por nosotros |
Licencia
Apache-2.0. El único de los cinco que no es MIT ni propietario. verificado por nosotros
Fuente · consultado el 2026-08-25
Versión y ritmo de publicación
Una versión menor cada dos semanas aproximadamente. Los dos últimos parches (0.25.1 y 0.27.1) salieron en tres días o menos, pero desde la 0.27.1 (agosto de 2026) no ha habido ninguno. No es mensual: los últimos saltos menores fueron de 14, 13, 13 y 13 días. Ojo al fechar cualquier texto sobre él: entre el 26 de agosto y el 22 de septiembre de 2026 publicó tres versiones menores (0.28, 0.29 y 0.30). verificado por nosotros
Fuente · consultado el 2026-10-22
Lo que conviene saber antes de instalarlo
- Es el único de los cinco con telemetría activada de fábrica, y no es un aviso al arrancar: manda un latido cada diez minutos mientras el servidor viva. A su favor: lo documenta, deja leer el contenido exacto en un fichero local y ofrece cuatro formas de apagarlo.
- Es también el único que escucha en 0.0.0.0 por defecto y sin clave. Un `vllm serve modelo` sin más parámetros, en un portátil conectado a la wifi de un hotel, deja el modelo a disposición de toda la red. No es una regresión: lleva así al menos ocho versiones.
- Su propia página de seguridad avisa de que la clave de API solo cubre las rutas /v1, /v2, /inference y /cohere, y de que hay endpoints sensibles sin autenticación en el mismo servidor. La recomendación oficial es ponerlo detrás de un proxy inverso.
- Se reserva el 92 % de la memoria de la tarjeta nada más arrancar, y es reserva previa, no uso a demanda. Ojo con la cifra: el 90 % que circula por internet sale de un ejemplo congelado en su propia documentación desde la versión 0.4.0.
- vLLM no publica en ninguna parte una cifra mínima de memoria de vídeo. El único requisito de hardware publicado es la capacidad de cómputo 7.5. No nos inventamos un número.
- No es un programa para tu ordenador. Sin interfaz, sin Windows nativo y en Mac solo un backend de CPU experimental. Está en esta comparativa para marcar el límite.