¿Qué es vllm-mlx?
vllm-mlx es un servidor de inferencia de línea de comandos para Mac con Apple Silicon que expone modelos de IA en ejecución local mediante los mismos formatos de API que usan los servicios en la nube de OpenAI y Anthropic. Su propio README de GitHub lo describe como algo que reúne "continuous batching + APIs de OpenAI + Anthropic en un solo servidor" con "inferencia nativa de Apple Silicon". No es una aplicación gráfica de escritorio — es un paquete de Python que se ejecuta desde la terminal, que luego escucha en un puerto local las solicitudes de API.
- Tipo de producto: un servidor de inferencia CLI basado en Python, instalado como paquete pip/uv, no una app gráfica descargable
- Creador: el desarrollador independiente Way Barrios (usuario de GitHub
waybarrios); esta reseña no encontró evidencia de una empresa, ronda de financiación o entidad comercial detrás del proyecto - Repositorio: github.com/waybarrios/vllm-mlx, el más antiguo y con más estrellas de varios repositorios con el mismo nombre en GitHub — otros repositorios homónimos (por ejemplo, bajo distintos nombres de usuario) describen este como el proyecto que replican
- Licencia: Apache 2.0, confirmada mediante el archivo LICENSE del repositorio
- Nombre: "vllm-mlx" indica que el proyecto sigue el diseño de la API de serving y la terminología de vLLM (continuous batching, paged KV cache) mientras se ejecuta sobre MLX en lugar del motor propio de vLLM basado en CUDA/ROCm — no contiene el código original de vLLM
Historia del proyecto
vllm-mlx es un proyecto relativamente joven. Su página de paquete en PyPI y su repositorio de GitHub muestran un desarrollo activo y continuo en lugar de un largo historial de versiones de varios años, y su README ya documenta un amplio conjunto de funciones — compatibilidad con las API de OpenAI y Anthropic, continuous batching, soporte multimodal y llamadas a herramientas MCP — como parte de su estado actual en lugar de un lanzamiento por etapas.
- Distribuido en PyPI como el paquete
vllm-mlx, con etiquetas de versión publicadas visibles mediantepip index versions vllm-mlxo la página del proyecto en PyPI - Mantenido activamente: el repositorio de GitHub muestra commits continuos y un sitio de documentación en vllm-mlx.is-a.dev
- El README está traducido a varios idiomas (inglés, español, francés, chino) por el propio proyecto, algo inusual para un proyecto de este tamaño y una señal de una base de usuarios distribuida internacionalmente
- El conjunto de funciones ya incluye, al momento de esta reseña, soporte para modelos de razonamiento (extracción de razonamiento al estilo Qwen3, DeepSeek-R1), decodificación especulativa y optimizaciones de Mixture-of-Experts
¿Qué se puede hacer con vllm-mlx?
El conjunto de funciones de vllm-mlx se centra en servir de forma eficiente varias solicitudes concurrentes en una sola Mac, cubriendo más que la simple generación de texto. Esto es lo que hace realmente cada parte, según el propio README y el sitio de documentación del proyecto.
- Compatibilidad dual de API — sirve endpoints tanto al estilo OpenAI (
/v1/chat/completions,/v1/completions,/v1/embeddings,/v1/rerank,/v1/responses) como al estilo Anthropic (/v1/messages, con streaming, uso de herramientas y prompts de sistema) desde un solo servidor en ejecución - Continuous batching — procesa varias solicitudes concurrentes en conjunto en lugar de una por una, la misma técnica que vLLM popularizó para el serving en GPU, adaptada aquí para MLX/Metal
- Caché KV paginada y por prefijo — una caché eficiente en memoria basada en trie que comparte prefijos de prompt repetidos entre solicitudes, con una bandera opcional
--ssd-cache-dirpara volcar la caché a disco en cargas de trabajo de agentes con contexto largo - Soporte multimodal — entrada de texto, imagen, video y audio desde un solo servidor; las familias de modelos de visión compatibles documentadas incluyen Gemma, Qwen3-VL, Pixtral y variantes de visión de Llama
- Audio integrado — texto a voz (varias voces e idiomas según su README) y voz a texto mediante modelos de la familia Whisper, ejecutados en el mismo proceso del servidor
- Llamadas a herramientas MCP — soporte para el Model Context Protocol con parsers para varias familias de modelos (el README enumera, entre otros, formatos de llamadas a herramientas de OpenAI, Anthropic, Gemini, Qwen, DeepSeek y Gemma), además de compatibilidad explícita con Claude Code a través del endpoint compatible con Anthropic
- Funciones de razonamiento y MoE — extracción de tokens de razonamiento para modelos como Qwen3 y DeepSeek-R1, además de opciones de enrutamiento Mixture-of-Experts y decodificación especulativa para las familias de modelos compatibles
- Observabilidad y benchmarking — un endpoint Prometheus
/metricsopcional y un comando integradovllm-mlx bench-servepara ejecutar y registrar mediciones de rendimiento
Ejemplos de uso: tres formas de usar vllm-mlx
Estos son flujos de trabajo concretos construidos a partir de las funciones documentadas de vllm-mlx descritas arriba, usando comandos del propio README del proyecto.
Servir un modelo y llamarlo con el SDK de Python de OpenAI
Ejecuta vllm-mlx serve mlx-community/Llama-3.2-3B-Instruct-4bit --port 8000 para iniciar el servidor. Luego apunta el paquete estándar de Python openai a base_url="http://localhost:8000/v1" con cualquier clave de API de relleno — el código cliente de OpenAI existente funciona contra el modelo local sin modificaciones, ya que el formato de respuesta coincide con el de la API de OpenAI Chat Completions.
Ejecutar Claude Code contra un modelo local mediante el endpoint compatible con Anthropic
Con un modelo ya en servicio, establece ANTHROPIC_BASE_URL=http://localhost:8000 y ANTHROPIC_API_KEY=not-needed como variables de entorno, y luego lanza claude como de costumbre. Las solicitudes se enrutan al modelo servido localmente en lugar de a la API en la nube de Anthropic, según la integración con Claude Code documentada por el proyecto.
Medir el rendimiento antes de decidir un modelo o una configuración de hardware
Usa el comando integrado vllm-mlx bench-serve --url http://localhost:8000 --concurrency 5 --prompts prompts.txt --output results.csv para medir el rendimiento real de solicitudes en tu propia máquina y tu propio conjunto de prompts, en lugar de confiar solo en los benchmarks publicados en el README del proyecto, que según el README se midieron en hardware específico (un M4 Max con 128 GB de memoria unificada) que puede no coincidir con tu configuración.
Instalar vllm-mlx
vllm-mlx se instala gratis mediante pip o uv, y su código fuente está en GitHub. Al ser una herramienta CLI para desarrolladores, no existe un instalador descargable por sistema operativo — la instalación siempre pasa por las herramientas de paquetes de Python.
Fuente | Enlace |
|---|---|
| Documentación oficial | vllm-mlx.is-a.dev |
| Repositorio de GitHub (código fuente, Apache 2.0) | github.com/waybarrios/vllm-mlx |
| Paquete PyPI | pypi.org/project/vllm-mlx |
| Instalación rápida (uv) | uv tool install vllm-mlx |
| Instalación rápida (pip) | pip install vllm-mlx |
vllm-mlx requiere una Mac con Apple Silicon (M1, M2, M3, M4 o M5) ejecutando macOS con el framework MLX — no funciona en Mac Intel, Windows ni Linux. Las funciones de audio requieren un paso adicional de `pip install vllm-mlx[audio] más brew install espeak-ng` para texto a voz en idiomas distintos del inglés, según el README del proyecto.
Precios de vllm-mlx: ¿es realmente gratis vllm-mlx?
Sí — vllm-mlx no tiene ningún plan de pago. Se distribuye como un paquete PyPI gratuito con licencia Apache 2.0, sin cuenta, clave de licencia ni límite de uso. El repositorio de GitHub no tiene página de precios, y ninguna parte del README ni de la documentación describe una edición comercial o empresarial.
- Instalar o ejecutar vllm-mlx en sí no tiene costo —
pip install vllm-mlxes toda la transacción - La licencia Apache 2.0 permite el uso comercial, la modificación y la redistribución, sujeto a los términos estándar de la licencia (atribución y conservación del aviso de licencia)
- El único costo real es el hardware Mac con Apple Silicon necesario para ejecutarlo, y el espacio en disco para cualquier modelo descargado por separado desde Hugging Face o la organización
mlx-community - Esta reseña no encontró ninguna versión en la nube alojada por el desarrollador, API alojada u oferta gestionada — vllm-mlx solo funciona en hardware que uno mismo controla
vllm-mlx vs. mlx-lm
vllm-mlx y mlx-lm ejecutan modelos mediante el framework MLX de Apple, pero resuelven problemas distintos. mlx-lm es la propia biblioteca y CLI de Python de bajo nivel de Apple para ejecutar y afinar modelos MLX una solicitud a la vez; vllm-mlx es un servidor de más alto nivel construido sobre bibliotecas como mlx-lm, mlx-vlm y mlx-audio (según su propio diagrama de arquitectura) que añade las funciones de serving concurrente por las que vLLM es conocido.
Mantenedor
- vllm-mlx:
- Desarrollador independiente (Way Barrios)
- mlx-lm:
- Equipo de MLX de Apple
Caso de uso principal
- vllm-mlx:
- Servidor de API para solicitudes concurrentes
- mlx-lm:
- Biblioteca de generación y ajuste fino de solicitud única
Batching concurrente
- vllm-mlx:
- Continuous batching, paged KV cache
- mlx-lm:
- No es un enfoque central; normalmente una solicitud a la vez
Superficie de API
- vllm-mlx:
- Endpoints compatibles con OpenAI + Anthropic
- mlx-lm:
- API y CLI de Python, sin servidor integrado con formato Anthropic
Relación
- vllm-mlx:
- Se construye internamente sobre mlx-lm, mlx-vlm, mlx-audio
- mlx-lm:
- Una dependencia fundamental sobre la que se construyen otras herramientas MLX
Esta es una comparación factual de funciones basada en la documentación propia de cada proyecto, no un benchmark realizado por PromptQuorum. Los dos no son estrictamente competidores — vllm-mlx depende de mlx-lm en lugar de reemplazarlo.
¿Quién debería usar vllm-mlx?
vllm-mlx es adecuado para desarrolladores en Apple Silicon que buscan un serving concurrente al estilo de producción en lugar de una app de chat para un solo usuario.
Usa vllm-mlx si
- tienes una Mac con Apple Silicon y quieres servir de forma eficiente varias solicitudes concurrentes en lugar de manejar una solicitud a la vez
- ya tienes código escrito contra las API de OpenAI o Anthropic y quieres apuntarlo a un modelo local con cambios mínimos
- quieres ejecutar Claude Code, u otra herramienta compatible con la API de Anthropic, contra un modelo alojado localmente
- necesitas serving multimodal (texto, visión, audio) desde un solo proceso de servidor local en lugar de combinar varias herramientas separadas
- te sientes cómodo instalando y ejecutando una herramienta CLI de Python en lugar de necesitar un instalador gráfico
Busca otras opciones si
- no tienes hardware Apple Silicon — no hay soporte para Windows, Linux en x86 ni Mac Intel
- quieres una app de chat de escritorio gráfica en lugar de un servidor de API que configures tú mismo — mira en su lugar Jan o GPT4All
- necesitas específicamente el proyecto vLLM oficial (por ejemplo, para replicar exactamente un despliegue de producción en Linux/NVIDIA) en lugar de una adaptación nativa de MLX de sus ideas
- quieres una herramienta respaldada por un proveedor con un contrato de soporte comercial — esta reseña no encontró ninguna empresa ni financiación detrás de vllm-mlx
Errores comunes al evaluar vllm-mlx
La mayor parte de la confusión sobre vllm-mlx proviene de su nombre, que invita a suposiciones que el propio proyecto no hace.
Error 1: asumir que vllm-mlx es el proyecto vLLM oficial ejecutándose en una Mac
No lo es. vllm-mlx es un proyecto independiente y no oficial de un desarrollador distinto que adapta los conceptos de serving de vLLM para MLX — no contiene el código base original en CUDA/ROCm de vLLM y no está afiliado al equipo de vLLM.
Error 2: confundir este repositorio con otros proyectos homónimos "vllm-mlx"
Varios repositorios de GitHub comparten el nombre "vllm-mlx" bajo distintos nombres de usuario. Esta reseña cubre específicamente waybarrios/vllm-mlx, el más antiguo y con más estrellas del grupo, al que otros repositorios homónimos describen como el proyecto que replican.
Error 3: esperar soporte de GPU NVIDIA/AMD o para plataformas distintas de Mac
vllm-mlx se ejecuta exclusivamente en Apple Silicon mediante MLX y Metal. No tiene una ruta de respaldo solo con CPU ni una forma de ejecutarse en Windows, Linux en x86 o GPU que no sean de Apple.
Error 4: tratar las cifras de benchmark publicadas por el propio proyecto como verificadas de forma independiente
Las cifras de rendimiento en el README de vllm-mlx son autorreportadas, medidas según el README en hardware específico (un M4 Max con 128 GB de memoria unificada). Vuelve a ejecutar el comando bench-serve del propio proyecto en tu propio hardware y modelos antes de tratar cualquier cifra publicada como una garantía.
Competidores y alternativas
vllm-mlx se sitúa en el mismo segmento de servidores de inferencia para Apple Silicon que oMLX, Rapid-MLX y mlxcel — todos proyectos independientes que ejecutan modelos locales mediante MLX con una superficie de API compatible con OpenAI o similar, diferenciándose principalmente en el lenguaje (Python frente a Rust), el énfasis en funciones y la estrategia de caché.
Herramienta | Más conocido por | Enlace |
|---|---|---|
| oMLX | Servidor de inferencia para Apple Silicon con caché de prompts respaldada en SSD | Reseña de oMLX |
| Rapid-MLX | Servidor de inferencia MLX nativo centrado en la velocidad de serving | Reseña de Rapid-MLX |
| mlxcel | Runtime MLX nativo en Rust para LLM, VLM, embeddings y audio | Reseña de mlxcel |
| LoRAX | Servir miles de adaptadores LoRA desde un modelo base en una sola GPU | Reseña de LoRAX |
Esta lista refleja herramientas comúnmente comparadas en el espacio de motores de inferencia para Apple Silicon y serving de adaptadores, no un ranking independiente de PromptQuorum — verifica el conjunto de funciones actual de cada herramienta antes de elegir.
Preguntas frecuentes
¿Qué es vllm-mlx?
vllm-mlx (github.com/waybarrios/vllm-mlx) es un servidor de inferencia gratuito y de código abierto (Apache 2.0) que ejecuta modelos de IA en Mac con Apple Silicon mediante MLX nativo, exponiendo endpoints de API compatibles tanto con OpenAI como con Anthropic.
¿Es vllm-mlx lo mismo que vLLM?
No. vllm-mlx es un proyecto independiente y no oficial que adapta los conceptos de serving de vLLM (continuous batching, paged KV cache) para el framework MLX de Apple. No está afiliado al proyecto o equipo oficial de vLLM, y no contiene el código base original de vLLM.
¿Es gratis vllm-mlx?
Sí. Se instala gratis con pip install vllm-mlx, tiene licencia Apache 2.0, y no tiene plan de pago, cuenta ni límite de uso.
¿Cómo instalo vllm-mlx?
Ejecuta pip install vllm-mlx o uv tool install vllm-mlx, según el propio README del proyecto. Requiere una Mac con Apple Silicon; no existe soporte para Windows, Linux ni Mac Intel.
¿Funciona vllm-mlx con Claude Code?
Sí. El proyecto documenta soporte explícito para Claude Code configurando ANTHROPIC_BASE_URL para apuntar al endpoint de vllm-mlx servido localmente, ya que expone un endpoint compatible con Anthropic /v1/messages.
¿Qué hardware requiere vllm-mlx?
Una Mac con Apple Silicon (M1, M2, M3, M4 o M5). Usa kernels de Metal mediante MLX y no tiene respaldo solo con CPU ni soporte para GPU que no sean de Apple.
¿Quién creó vllm-mlx?
El desarrollador independiente Way Barrios, usuario de GitHub waybarrios. Esta reseña no encontró evidencia de una empresa o ronda de financiación detrás del proyecto.
¿vllm-mlx soporta modelos de visión y audio, o solo texto?
Soporta modelos de texto, visión (imagen/video) y audio (texto a voz y voz a texto), además de embeddings y reranking, todo servido desde el mismo proceso, según el README del proyecto.
¿Qué es el continuous batching?
Una técnica de serving, popularizada por vLLM, que procesa varias solicitudes concurrentes en conjunto en lugar de una por una, mejorando el rendimiento cuando un servidor maneja varias solicitudes a la vez. vllm-mlx adapta este concepto para MLX en Apple Silicon.
¿Ha probado PromptQuorum de forma independiente las afirmaciones de benchmark de vllm-mlx?
No. Esta reseña se basa en el propio repositorio de GitHub, README y sitio de documentación de vllm-mlx, en lugar de en pruebas prácticas realizadas por PromptQuorum. Las cifras de rendimiento en el README del proyecto son autorreportadas.