一句话总结:Rapid-MLX 不是又一个 Ollama 替代品,它是专为 Apple Silicon 深度优化的推理引擎——工具调用成功率 100%、缓存首 token 0.08s,配合 M4/M5 芯片的神经加速器,在本地跑 Agent 工作流首次让人感觉不像在凑合。
背景:Apple Silicon 推理生态的快速演变
2026 年初,Apple Silicon 上的本地 LLM 推理发生了一次格局性变化。Ollama 0.19(2026-03-30)把底层推理引擎从 llama.cpp 切换到 Apple 的 MLX 框架,在 M1 Max 上 decode 速度从 3.19 tok/s 跳升到 23.39 tok/s,接近 7 倍的提升。
这次切换把一个尴尬的现实暴露了出来:过去两年大量在 Apple Silicon 上”跑得动”的 LLM 工作流,其实一直在严重欠压硬件。
Rapid-MLX(2026-03-23 首发,GitHub raullenchai/Rapid-MLX)把这个思路推得更远。它不是在 Ollama 基础上做优化,而是从零开始针对 Apple Silicon 的统一内存架构、Metal GPU 以及 M4/M5 新增的神经加速器(Neural Accelerators)重新设计了每个环节。
结果:比最新版 Ollama 还快 2-4.2 倍,工具调用解析成功率达到 100%。
为什么 Rapid-MLX 更快
理解性能差距之前,先理解 Apple Silicon 的内存架构。
M 系列芯片使用统一内存架构(UMA):CPU、GPU 和神经引擎共享同一块物理内存,没有 PCIe 传输瓶颈。LLM 推理的瓶颈从来不在算力,在内存带宽——每生成一个 token 需要把整个模型权重从内存搬到计算单元一次。
Rapid-MLX 在这个瓶颈上做了三件事:
1. 分层 KV 缓存
标准 KV 缓存把 system prompt 和历史对话都存在 GPU 内存中。Rapid-MLX 实现了两级缓存:系统提示词缓存常驻(prefill 一次,后续 session 复用),用户对话缓存 LRU 淘汰。当 system prompt 命中缓存时,首 token 延迟可以压缩到 0.08s,这已经接近人感知”即时响应”的阈值(约 100ms)。
2. M5 神经加速器直接调度
M4/M5 芯片新增了 GPU Neural Accelerators,专门用于矩阵乘法加速。Ollama 的 MLX 支持通过通用路径调用这些加速器,Rapid-MLX 通过 Metal Performance Shaders 直接调度,减少了调度层的开销。实测在 M4 Max 上,32B 模型的 decode 速度比 Ollama 快约 40%。
3. 异步工具调用解析
工具调用是推理引擎的隐性瓶颈:生成完整的工具调用 JSON 之后还需要解析、验证,再决定是否继续生成。Rapid-MLX 的 17 个工具调用解析器全部异步运行,并带有自动错误恢复机制——如果模型生成的 JSON 格式有小错误,解析器会先尝试自动修复而不是直接报错。这让工具调用的成功率在实测中达到 100%(对比 llama.cpp 约 85-90%)。
安装与配置
环境要求
- Apple Silicon Mac(M1 及以上,M4/M5 效果最佳)
- macOS 14 Sonoma 及以上
- Python 3.11+(推荐 3.12)
- 至少 16GB 统一内存
安装
# 推荐用 pipx 隔离安装
pipx install rapid-mlx
# 或用 pip
pip install rapid-mlx
# 验证安装
rapid-mlx --version
下载模型
Rapid-MLX 支持从 Hugging Face 直接拉取 MLX 格式模型:
# 下载 Qwen3.6 27B(推荐)
rapid-mlx pull mlx-community/Qwen3.6-27B-Instruct-4bit
# 下载 Llama 3.3 70B(高配 Mac)
rapid-mlx pull mlx-community/Llama-3.3-70B-Instruct-4bit
# 查看已下载模型
rapid-mlx list
模型存储在 ~/.rapid-mlx/models/,格式为 MLX 原生格式(比 GGUF 在 Apple Silicon 上快约 15%)。
启动服务
# 基本启动(默认端口 8080)
rapid-mlx serve mlx-community/Qwen3.6-27B-Instruct-4bit
# 完整参数
rapid-mlx serve mlx-community/Qwen3.6-27B-Instruct-4bit \
--port 8080 \
--context-length 32768 \
--tool-call-parser qwen3 \
--reasoning-parser qwen3 \
--cache-ttl 3600
--tool-call-parser 需要和模型系列匹配,常用值:
| 模型系列 | tool-call-parser | reasoning-parser |
|---|---|---|
| Qwen3.x | qwen3 | qwen3 |
| DeepSeek-R1 | deepseek_r1 | deepseek_r1 |
| Llama 3.x | llama | hermes |
| Hermes 系列 | hermes | hermes |
| GLM4 | glm47 | — |
验证服务
# 测试基础生成
curl http://localhost:8080/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "qwen3-27b",
"messages": [{"role": "user", "content": "你好"}],
"max_tokens": 50
}'
# 测试工具调用
curl http://localhost:8080/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "qwen3-27b",
"messages": [{"role": "user", "content": "今天北京天气如何?"}],
"tools": [{
"type": "function",
"function": {
"name": "get_weather",
"description": "获取天气",
"parameters": {
"type": "object",
"properties": {"city": {"type": "string"}}
}
}
}]
}'
集成 Claude Code
这是 Rapid-MLX 最实用的场景之一:用本地模型驱动 Claude Code,不消耗 API 额度,完全离线运行。
配置方法
编辑 ~/.claude/settings.json:
{
"env": {
"ANTHROPIC_BASE_URL": "http://localhost:8080",
"ANTHROPIC_API_KEY": "rapid-mlx-local",
"ANTHROPIC_MODEL": "qwen3-27b"
}
}
重新启动 Claude Code,它会通过 OpenAI 兼容 API 与本地 Rapid-MLX 服务通信。由于 Rapid-MLX 实现了完整的工具调用协议,Claude Code 的文件读写、bash 执行等操作都可以正常工作。
⚠️ 注意:本地模型的能力上限低于 Claude Sonnet/Opus,复杂的多步骤重构任务建议仍使用云端模型。Rapid-MLX 的 cloud routing 功能可以在本地处理简单任务、云端处理复杂任务时实现自动切换。
集成 Cursor
在 Cursor 设置中修改:
- AI Provider:
OpenAI Compatible - Base URL:
http://localhost:8080 - API Key:
rapid-mlx-local(任意字符串) - Model:
qwen3-27b(或你下载的模型名)
Cursor 的代码补全和 Composer 功能均可通过 Rapid-MLX 驱动。
集成 Aider
# 使用 Rapid-MLX 运行 aider
OPENAI_API_BASE=http://localhost:8080 \
OPENAI_API_KEY=rapid-mlx-local \
aider --model openai/qwen3-27b
Cloud Routing:本地优先 + 云端兜底
Rapid-MLX 的 --cloud-fallback 功能实现了混合架构:
rapid-mlx serve mlx-community/Qwen3.6-27B-Instruct-4bit \
--cloud-fallback anthropic \
--cloud-model claude-opus-4-8 \
--cloud-api-key $ANTHROPIC_API_KEY \
--local-max-tokens 8192
配置逻辑:
- 请求 tokens <=
local-max-tokens:本地处理 - 请求 tokens >
local-max-tokens或本地失败:自动路由到云端
对上层应用完全透明,不需要修改任何调用代码。
性能基准
在 M4 Max (128GB) 上,Qwen3.6 27B 4-bit 的实测数据:
| 引擎 | TTFT(冷启动) | TTFT(缓存命中) | Decode 速度 |
|---|---|---|---|
| Ollama(MLX) | 1.2s | 0.8s | 38 tok/s |
| mlx-lm | 1.0s | 0.7s | 42 tok/s |
| Rapid-MLX | 0.9s | 0.08s | 52 tok/s |
缓存命中时的 TTFT 差异最显著:Rapid-MLX 的分层缓存让 system prompt 几乎免费,这对 Agent 工作流(频繁复用相同 system prompt)意义极大。
在 M2 16GB 上,7B 模型 4-bit 的数据:
| 引擎 | Decode 速度 | 工具调用成功率 |
|---|---|---|
| Ollama(MLX) | 28 tok/s | ~92% |
| Rapid-MLX | 45 tok/s | 100% |
常见问题排查
模型加载失败:
# 检查内存是否足够
rapid-mlx info mlx-community/Qwen3.6-27B-Instruct-4bit
# 输出会显示所需内存
# Required memory: 14.2 GB
# Available: 16.0 GB
# Status: OK
工具调用格式错误:
确认 --tool-call-parser 与模型匹配。如果不确定,使用 hermes(最通用的解析器,对格式错误容忍度最高)。
速度低于预期:
# 检查是否启用了 Metal
rapid-mlx info --runtime
# 确认 GPU 利用率
rapid-mlx serve ... --verbose
如果 GPU 利用率持续低于 70%,通常是内存带宽受限——考虑换更高量化精度(4-bit → 8-bit)或更小的模型。
小结
Rapid-MLX 的核心价值不只是速度数字。在 Agent 工作流高频调用 LLM 的场景下,100% 工具调用成功率和 0.08s 缓存 TTFT 的组合,使得”在 Mac 上本地运行生产级 Agent”从”凑合可用”变成了”真正实用”。配合 M4/M5 芯片的神经加速器,Apple Silicon 已经是 2026 年最适合本地 AI 推理的消费级硬件平台之一。
对于有 Mac 开发机且不想把所有推理请求都发到云端的工程师,Rapid-MLX 是目前最值得部署的本地引擎。