vllm-mlx是什么?
vllm-mlx是一款面向Apple Silicon Mac的命令行推理服务器,通过与OpenAI和Anthropic云服务相同的API格式,暴露本地运行的AI模型。 其GitHub README将其描述为在"一个服务器中集成continuous batching + OpenAI + Anthropic API",并具备"原生Apple Silicon推理"能力。它不是图形化桌面应用,而是从终端运行的Python包,运行后会在本地端口监听API请求。
- 产品类型:一款基于Python的CLI推理服务器,以pip/uv包形式安装,而非可下载的GUI应用
- 创建者:独立开发者Way Barrios(GitHub账号
waybarrios);本评测未发现该项目背后有公司、融资轮次或商业实体的证据 - 仓库:github.com/waybarrios/vllm-mlx,是GitHub上多个同名仓库中最早、星标最多的一个——其他使用相同名称的仓库(例如在不同用户名下)将该仓库描述为它们所镜像的项目
- 许可证:Apache 2.0,已通过仓库的LICENSE文件确认
- 命名:「vllm-mlx」这一名称表明该项目沿用了vLLM的serving API设计和术语(continuous batching、paged KV缓存),但运行在MLX上,而非vLLM自身基于CUDA/ROCm的引擎——它不包含vLLM的原始代码库
项目历史
vllm-mlx是一个相对年轻的项目。 其PyPI包页面和GitHub仓库显示的是活跃、持续的开发,而非跨越多年的漫长版本历史,其README已将OpenAI和Anthropic API兼容性、continuous batching、多模态支持和MCP工具调用等广泛功能记录为当前状态,而非分阶段推出的计划。
- 以
vllm-mlx包名在PyPI上分发,可通过pip index versions vllm-mlx或PyPI项目页面查看已发布的版本标签 - 维护活跃:GitHub仓库显示持续的提交记录,并在vllm-mlx.is-a.dev设有文档网站
- README由项目自身翻译成多种语言(英语、西班牙语、法语、中文)——对这一规模的项目而言并不常见,这也是其用户群体国际化分布的一个信号
- 截至本评测时,功能范围已包括推理模型支持(Qwen3、DeepSeek-R1风格的推理提取)、投机解码以及Mixture-of-Experts优化
vllm-mlx能做什么?
- 双API兼容性 — 从一台运行中的服务器同时提供OpenAI风格(
/v1/chat/completions、/v1/completions、/v1/embeddings、/v1/rerank、/v1/responses)和Anthropic风格(/v1/messages,支持流式传输、工具使用和系统提示)端点 - Continuous batching — 将多个并发请求一并处理,而非逐一处理,这是vLLM在GPU serving中推广的同一技术,此处针对MLX/Metal进行了适配
- Paged与prefix KV缓存 — 一种基于trie结构、内存高效的缓存,可在多个请求之间共享重复的提示前缀,并提供可选的
--ssd-cache-dir标志,可将缓存溢出到磁盘,用于长上下文智能体工作负载 - 多模态支持 — 从一台服务器接收文本、图像、视频和音频输入;文档记录的兼容视觉模型系列包括Gemma、Qwen3-VL、Pixtral以及Llama视觉变体
- 内置音频功能 — 文本转语音(据README支持多种语音和语言)和通过Whisper系列模型实现的语音转文本,均在同一服务器进程中运行
- MCP工具调用 — 支持Model Context Protocol,并为多个模型系列提供解析器(README列出的格式包括OpenAI、Anthropic、Gemini、Qwen、DeepSeek和Gemma风格的工具调用格式),并通过兼容Anthropic的端点提供明确的Claude Code兼容性
- 推理与MoE功能 — 针对Qwen3和DeepSeek-R1等模型的推理token提取,以及针对支持的模型系列的Mixture-of-Experts路由选项和投机解码
- 可观测性与基准测试 — 可选的Prometheus
/metrics端点,以及内置的vllm-mlx bench-serve命令,用于运行和记录吞吐量测试
使用示例:使用vllm-mlx的三种方式
以下是基于上述vllm-mlx已记录功能构建的具体工作流程,命令来自项目自身的README。
部署一个模型,并通过OpenAI Python SDK调用它
运行vllm-mlx serve mlx-community/Llama-3.2-3B-Instruct-4bit --port 8000以启动服务器。然后将标准的openai Python包指向base_url="http://localhost:8000/v1",并使用任意占位API密钥——由于响应格式与OpenAI Chat Completions API一致,现有的OpenAI客户端代码无需修改即可对接本地模型。
通过兼容Anthropic的端点,让Claude Code对接本地模型
在已经部署好模型的情况下,将环境变量设置为ANTHROPIC_BASE_URL=http://localhost:8000和ANTHROPIC_API_KEY=not-needed,然后像往常一样启动claude。按照项目文档记录的Claude Code集成方式,请求将被路由到本地部署的模型,而非Anthropic的云端API。
在选定模型或硬件配置前先测试吞吐量
使用内置的vllm-mlx bench-serve --url http://localhost:8000 --concurrency 5 --prompts prompts.txt --output results.csv命令,在自己的机器和提示集上测量真实的请求吞吐量,而不是仅依赖项目发布的README基准数据——据README所述,这些数据是在特定硬件(配备128GB统一内存的M4 Max)上测得的,可能与你的配置不符。
安装vllm-mlx
vllm-mlx可通过pip或uv免费安装,源代码托管在GitHub上。 作为面向开发者的CLI工具,它没有按操作系统提供的可下载安装程序——安装始终通过Python的包管理工具进行。
来源 | 链接 |
|---|---|
| 官方文档 | vllm-mlx.is-a.dev |
| GitHub仓库(源代码,Apache 2.0) | github.com/waybarrios/vllm-mlx |
| PyPI包 | pypi.org/project/vllm-mlx |
| 快速安装(uv) | uv tool install vllm-mlx |
| 快速安装(pip) | pip install vllm-mlx |
vllm-mlx需要运行macOS并具备MLX框架的Apple Silicon Mac(M1、M2、M3、M4或M5)——它无法在Intel Mac、Windows或Linux上运行。根据项目README,音频功能需要额外执行`pip install vllm-mlx[audio],以及为非英语文本转语音安装brew install espeak-ng`。
vllm-mlx定价:vllm-mlx真的免费吗?
是的——vllm-mlx没有付费层级。 它作为免费的、Apache 2.0许可的PyPI包分发,没有账户、许可密钥或使用上限。GitHub仓库没有定价页面,README和文档中也没有任何部分描述商业版或企业版。
- 安装或运行vllm-mlx本身没有任何费用——
pip install vllm-mlx就是全部的操作 - Apache 2.0许可证允许商业使用、修改和再分发,前提是遵守许可证的标准条款(署名和保留许可声明)
- 唯一的实际成本是运行它所需的Apple Silicon Mac硬件,以及从Hugging Face或
mlx-community组织单独下载模型所需的磁盘空间 - 本评测未发现由开发者托管的云端版本、托管API或托管服务——vllm-mlx仅在你自己控制的硬件上运行
vllm-mlx vs. mlx-lm
vllm-mlx和mlx-lm都通过Apple的MLX框架运行模型,但解决的问题不同。 mlx-lm是Apple自身提供的更底层的Python库和CLI,用于逐个请求地运行和微调MLX模型;vllm-mlx是构建在mlx-lm、mlx-vlm和mlx-audio等库之上(据其自身架构图所述)的更高层级服务器,增加了vLLM以之闻名的并发请求serving功能。
维护者
- vllm-mlx:
- 独立开发者(Way Barrios)
- mlx-lm:
- Apple的MLX团队
主要用例
- vllm-mlx:
- 面向并发请求的API服务器
- mlx-lm:
- 单请求生成与微调库
并发批处理
- vllm-mlx:
- Continuous batching、paged KV缓存
- mlx-lm:
- 并非核心重点;通常逐个请求处理
API范围
- vllm-mlx:
- 兼容OpenAI + Anthropic的端点
- mlx-lm:
- Python API和CLI,无内置的Anthropic格式服务器
关系
- vllm-mlx:
- 内部构建于mlx-lm、mlx-vlm、mlx-audio之上
- mlx-lm:
- 其他MLX工具所依赖的基础组件
这是基于各项目自身文档的事实性功能对比,而非PromptQuorum进行的基准测试。两者并非严格意义上的竞争对手——vllm-mlx依赖mlx-lm,而非取代它。
谁适合使用vllm-mlx?
vllm-mlx适合希望获得生产级并发serving、而非单用户聊天应用的Apple Silicon开发者。
在以下情况下适合使用vllm-mlx
- 拥有Apple Silicon Mac,并希望高效地服务多个并发请求,而非逐一处理请求
- 已有针对OpenAI或Anthropic API编写的代码,希望以最小改动将其指向本地模型
- 希望让Claude Code或其他兼容Anthropic API的工具,对接本地托管的模型
- 需要从单一本地服务器进程中获得多模态serving(文本、视觉、音频),而不必在多个独立工具之间切换
- 愿意安装并运行Python CLI工具,而非需要图形化安装程序
评估vllm-mlx时的常见误区
关于vllm-mlx的大多数误解都源于其名称,这一名称容易让人产生项目本身并未做出的假设。
误区一:认为vllm-mlx就是运行在Mac上的官方vLLM项目
事实并非如此。vllm-mlx是由另一位开发者独立开发的非官方项目,将vLLM的serving概念适配到MLX上——它不包含vLLM原始的CUDA/ROCm代码库,也未与vLLM团队存在关联。
误区二:将此仓库与其他同名「vllm-mlx」项目混淆
多个GitHub仓库在不同用户名下共享「vllm-mlx」这一名称。本评测专门涵盖waybarrios/vllm-mlx,它是该群体中最早、星标最多的仓库,其他同名仓库都将其描述为自己所镜像的项目。
误区三:期望获得NVIDIA/AMD GPU或非Mac支持
vllm-mlx仅通过MLX和Metal在Apple Silicon上运行。它没有纯CPU回退方案,也无法在Windows、x86上的Linux或非Apple GPU上运行。
误区四:将项目自行发布的基准测试数字视为已经独立验证
vllm-mlx README中的吞吐量数字是自我报告的,据README所述是在特定硬件(配备128GB统一内存的M4 Max)上测得的。在将任何已发布数字视为保证之前,请在自己的硬件和模型上重新运行项目自身的bench-serve命令。
竞品与替代方案
vllm-mlx与oMLX、Rapid-MLX和mlxcel处于同一Apple Silicon推理服务器细分领域——它们都是通过MLX运行本地模型、提供兼容OpenAI或类似API接口的独立项目,主要区别在于语言(Python还是Rust)、功能侧重点和缓存策略。
常见问题
vllm-mlx是什么?
vllm-mlx(github.com/waybarrios/vllm-mlx)是一款免费、开源(Apache 2.0)的推理服务器,通过原生MLX在Apple Silicon Mac上运行AI模型,并同时暴露兼容OpenAI和兼容Anthropic的API端点。
vllm-mlx与vLLM是同一个项目吗?
不是。vllm-mlx是一个独立、非官方的项目,将vLLM的serving概念(continuous batching、paged KV缓存)适配到Apple的MLX框架上。它未与官方vLLM项目或团队存在关联,也不包含vLLM的原始代码库。
vllm-mlx免费吗?
是的。它可以通过pip install vllm-mlx免费安装,采用Apache 2.0许可证,没有付费层级、账户或使用上限。
如何安装vllm-mlx?
按照项目自身README的说明,运行pip install vllm-mlx或uv tool install vllm-mlx。它需要Apple Silicon Mac,不支持Windows、Linux或Intel Mac。
vllm-mlx能与Claude Code配合使用吗?
可以。由于它暴露了一个兼容Anthropic的/v1/messages端点,项目文档记录了通过设置ANTHROPIC_BASE_URL指向本地部署的vllm-mlx端点,来实现明确的Claude Code支持。
vllm-mlx需要什么硬件?
需要Apple Silicon Mac(M1、M2、M3、M4或M5)。它通过MLX使用Metal内核,没有纯CPU回退方案,也不支持非Apple GPU。
vllm-mlx是谁开发的?
独立开发者Way Barrios,GitHub账号waybarrios。本评测未发现该项目背后存在公司或融资轮次的证据。
vllm-mlx支持视觉和音频模型,还是仅支持文本?
据项目README所述,它支持文本、视觉(图像/视频)和音频(文本转语音与语音转文本)模型,还支持嵌入和重排序,所有功能均由同一进程提供服务。
什么是continuous batching?
这是一种由vLLM推广的serving技术,可将多个并发请求一并处理而非逐一处理,从而在服务器同时处理多个请求时提升吞吐量。vllm-mlx将这一概念适配到了Apple Silicon上的MLX。
PromptQuorum是否独立测试过vllm-mlx的基准测试宣称?
没有。本评测基于vllm-mlx自身的GitHub仓库、README和文档网站,而非PromptQuorum的实际基准测试。项目README中的吞吐量数字是自我报告的。