SwiftLM 是什么?
SwiftLM 是一款完全用 Swift 编写的推理服务器,加载 MLX 格式的 AI 模型,并通过严格兼容 OpenAI 的 HTTP API 提供服务——是 mlx-lm 等基于 Python 的服务器的原生替代方案。其官方 GitHub 描述将其概括为「面向 Apple Silicon 的原生 MLX Swift LLM 推理服务器」,它被编译为单一的自包含二进制文件,而不需要 Python 环境、虚拟环境管理器或包安装器。
- 核心功能:一个本地 HTTP 服务器,一次加载一个 MLX 模型,并通过兼容 OpenAI 的聊天补全端点对外提供服务
- 实现语言:Swift,使用 Metal 内核编译以进行 GPU 计算——没有 Python,也没有会成为并发请求瓶颈的全局解释器锁(GIL)
- 开发者:SharpAI,一家自 2018 年 2 月起活跃在 GitHub 上的硅谷组织,其自身简介将主要工作描述为将机器学习引入传统 CCTV/NVR 监控摄像头
- 底层框架:Apple 的 MLX 数组框架,通过自定义分支(
SharpAI/mlx、SharpAI/mlx-c)添加了 SharpAI 声称官方ml-explore仓库中尚不具备的核外、内存映射执行能力 - 许可证:经仓库许可证元数据确认为 MIT
- 规模:截至本评测时,GitHub 星标 768 个,分叉 53 个,贡献者 12 位
谁在开发 SwiftLM,进展有多快?
SwiftLM 是一个年轻、快速发展的项目:其 GitHub 仓库创建于 2026 年 3 月 21 日,截至本评测发布之日,在之前的数周内,带标签的版本大约每一到两天发布一次。
- 仓库创建时间:2026 年 3 月 21 日——截至本评测时约六个月
- 近期发布节奏:带标签的构建版本 b703 至 b711 于 2026 年 8 月 27 日至 2026 年 9 月 5 日期间发布,该时间段内平均每约 1.4 天发布一个版本
- 组织:SharpAI,2018 年 2 月创建于 GitHub,根据其 GitHub 主页信息,总部位于硅谷
- 主营业务:根据 SharpAI 自身的 GitHub 简介,该组织的主要重心是「用机器学习技术赋能传统 CCTV/NVR 及监控摄像头」——SwiftLM 本身并非监控产品,而是 SharpAI 开源出来的通用推理服务器
- 贡献者:截至本评测时共 12 位,包括在 SSD 专家流式加载和 TurboQuant KV 缓存压缩方面获得署名的工程工作
- 自定义 MLX 分支:SharpAI 维护着
SharpAI/mlx和SharpAI/mlx-c,这是 Apple 官方 MLX 框架的分支,用于支持 README 中所述、上游尚未提供的核外内存映射执行能力
SwiftLM 能做什么?
SwiftLM 的功能集专注于在 Apple Silicon 上尽可能快速、节省内存地提供 MLX 模型服务,其中若干功能专门针对无法轻松容纳于统一内存中的超大模型。以下是根据 SwiftLM 官方 GitHub README 对各部分功能的说明。
- 兼容 OpenAI 的服务 — 暴露
/v1/chat/completions、/v1/models和/health端点,使现有的 OpenAI 客户端 SDK 和工具可以将 SwiftLM 作为即插即用的本地后端 - 广泛的模型系列支持 — README 中列出对超过 30 个模型系列的原生支持,包括 Gemma 4/3、Qwen 3.5/3/2.5、Llama 3.x、Mistral/Mixtral、Phi 4/3、DeepSeek-V3、GLM 4、Falcon H1 及若干较小的研究系模型系列
- 视觉语言模型(VLM) — 通过
--vision标志运行,支持对 Qwen3-VL、Qwen2.5-VL 和 PaliGemma 等模型进行实时 base64 图像解析 - 音频语言模型(ALM) — 针对部分 Gemma-4「Omni」变体,通过
--audio标志运行,借助 AVFoundation 的 WAV 提取来解码符合 OpenAI 规范的input_audio负载 - TurboQuant KV 缓存压缩 — 一种针对注意力 KV 缓存的自研非线性(Lloyd-Max 码本)3 比特级量化方案,SharpAI 自身的基准测试称其体积比 FP16 小约 3.5 倍,且精度损失接近于零,通过
--turbo-kv启用 - SSD 专家流式加载 — 针对混合专家模型,从 NVMe SSD 流式加载非活跃的专家层,而不要求完整模型驻留在内存中,通过
--stream-experts启用;SharpAI 自身的测试涵盖了在 64 GB Mac 上运行高达 69.6 GB(Qwen3.5-122B-A10B)和 209 GB(Qwen3.5-397B-A22B)的模型 - 推测解码与多标记预测(MTP) — 通过单独的小型草稿模型(
--draft-model)加速内存中推理,或者对于像 Qwen3 系列这样具有原生 MTP 头的模型,完全无需草稿模型即可加速 - 精细的内存控制 —
--gpu-layers和--prefill-size等标志可让你调整模型中有多少部分驻留在 GPU 上,以及提示词在预填充阶段如何分块
使用示例:三种使用 SwiftLM 的方式
以下是基于上文中 SwiftLM 已记录的标志和端点构建的具体工作流程——并非假设性的用例。
运行一个小模型,并像调用 OpenAI API 一样查询它
下载一个预构建版本,然后运行 ./SwiftLM --model mlx-community/Qwen2.5-3B-Instruct-4bit --port 5413。服务器启动后,即可用任意 HTTP 客户端向 http://localhost:5413/v1/chat/completions 发送普通的 OpenAI 风格请求——服务器端无需 API 密钥基础设施,也无需 Python 环境。
使用视觉语言模型描述一张图片
使用 --vision 标志和支持 VLM 的模型启动 SwiftLM,例如 SwiftLM --model mlx-community/Qwen2-VL-2B-Instruct-4bit --vision。该仓库属于较旧的 Qwen2-VL 世代;README 还列出了更新的 Qwen3-VL 系列,Hugging Face 上也有 mlx-community/Qwen3-VL-2B-Instruct-4bit 这样的 Qwen3-VL 版本。此后发送给 /v1/chat/completions 的请求可以在文本之外,按照 OpenAI 视觉 API 所期望的相同消息格式,附带一个 base64 编码的 image_url 字段。
在 64 GB 的 Mac 上运行超过 100B 参数的 MoE 模型
使用 --stream-experts 和一个大型混合专家模型(例如 Qwen3.5-122B-A10B 构建版本)启动 SwiftLM。根据 SharpAI 自身发布的在该配置下的基准测试,SwiftLM 会直接从 NVMe SSD 流式加载非活跃的专家层,而不要求整个 69.6 GB 的模型驻留在统一内存中。
安装 SwiftLM
SwiftLM 可免费安装,既可以作为预构建的 macOS 二进制文件,也可以从源代码构建,其源代码——以及 SwiftBuddy iOS 应用的源代码——均托管在 GitHub 上。
Source | Link |
|---|---|
| GitHub 仓库(源代码,MIT 许可) | github.com/SharpAI/SwiftLM |
| 预构建的 macOS arm64 二进制文件 | Releases 页面 |
从源代码构建(./build.sh) | Build from Source instructions |
| SwiftBuddy iOS/iPadOS 应用源代码(用 Xcode 构建) | SwiftBuddy 目录 |
| MLX 格式模型 | huggingface.co/mlx-community |
根据仓库自身的 Requirements 章节,SwiftLM 需要 macOS 14.0 以上、Apple Silicon(M1–M5)、Xcode 命令行工具以及 Metal Toolchain(可通过 xcodebuild -downloadComponent MetalToolchain 安装)。截至本评测时,SwiftBuddy 尚未通过 App Store 分发——由于其 .xcodeproj 被 git 忽略并通过 generate_xcodeproj.py 在本地重新生成,因此构建它需要 Xcode 和你自己的 Apple 开发者账户。
SwiftLM 的定价与许可
SwiftLM 完全免费,没有任何形式的付费套餐。SwiftLM 及其配套应用 SwiftBuddy 均采用 MIT 许可,这一点经 GitHub 仓库许可证元数据确认——这是一种宽松的开源许可,除保留版权声明外没有其他署名要求,也没有著佐权义务。
- SwiftLM 本身不设订阅、付费套餐或使用限制
- 运行服务器或 SwiftBuddy 应用无需账户或注册
- 根据 GitHub 仓库许可证元数据,MIT 许可适用于整个仓库,包括 SwiftBuddy
- 主要成本是硬件:SwiftLM 需要运行 macOS 14.0 或更高版本的 Apple Silicon Mac——它不能在 Intel Mac、Windows 或 Linux 上运行
SwiftLM 对比 Ollama
SwiftLM 和 Ollama 都在兼容 OpenAI 的 API 之后本地运行开放权重模型,但二者的优先级不同——Ollama 优化的是广泛的硬件支持和庞大的现有生态系统,而 SwiftLM 则专注于在 Apple Silicon 上追求极致性能和长上下文效率。
方面 | SwiftLM | |
|---|---|---|
| 引擎 | 原生 Swift,通过 MLX 编译为 Metal | 围绕 llama.cpp/GGML C++ 核心的 Go 封装 |
| 平台 | 仅 macOS 14+、Apple Silicon,另有 iOS 配套应用 | macOS、Windows、Linux、Docker;支持 Intel 与 Apple Silicon |
| 运行时依赖 | 无——单一原生二进制文件,无需 Python | 无——同样是单一原生二进制文件,无需 Python |
| 模型格式 | 通过 MLX 使用 HuggingFace safetensors(mlx-community 构建版本) | 通过其自有模型库和 Modelfile 系统使用 GGUF |
| 长上下文 KV 压缩 | TurboQuant,体积约为 FP16 的 1/3.5(--turbo-kv) | 截至本评测,没有专门的 KV 压缩标志 |
| 超大 MoE 模型 | SSD 专家流式加载可运行超出内存容量的 100B+ MoE 模型 | 依赖标准操作系统内存映射,没有专门的流式加载模式 |
| 成熟度 | GitHub 星标 768 个,仓库创建于 2026 年 3 月 | 成熟项目,拥有远为庞大的安装基础和生态系统 |
此对比反映的是各项目自身 GitHub 仓库中公开记录的功能,而非 PromptQuorum 对任一工具实际吞吐量的独立基准测试。如果你需要跨平台支持(Windows 或 Linux)或最庞大的现有集成生态系统,Ollama 是更成熟的选择;如果你只使用 Apple Silicon,并希望榨取原生 Swift 的性能和长上下文的内存节省,那么 SwiftLM 值得直接评估。
谁应该使用 SwiftLM?
SwiftLM 是否适合你,很大程度上取决于你的硬件——它仅限 Apple Silicon——以及你在多大程度上更看重原生 Swift 性能和长上下文内存效率,而非生态系统的成熟度。
以下情况适合使用 SwiftLM
- 你只在 Apple Silicon Mac(M1 或更新型号)上运行模型,并希望拥有一个无需管理 Python 环境的原生二进制文件
- 你希望使用 SSD 专家流式加载,运行体积超过 Mac 统一内存容量的混合专家模型
- 你处理非常长的上下文,希望借助 TurboQuant 的 KV 缓存压缩,在 4 万至 10 万以上词元时控制内存占用
- 你希望在 Apple Silicon 上,为视觉或部分音频输入模型提供一个兼容 OpenAI 的本地后端
- 你还希望通过内置的 SwiftBuddy 配套应用,在 iPhone 或 iPad 上直接运行较小的 MLX 模型
以下情况请考虑其他方案
- 你需要 Windows、Linux 或 Intel Mac 支持——SwiftLM 要求 Apple Silicon 和 macOS 14.0 以上,没有其他平台的构建版本
- 你想在 Mac 本机上使用图形化桌面界面——SwiftLM 是一个命令行服务器,其独立的 SwiftBuddy 配套应用提供图形界面,但面向 iOS/iPadOS
- 你想要尽可能庞大的现有集成、教程和第三方工具生态系统——Ollama 和基于 llama.cpp 的工具拥有更长的历史记录和远为庞大的安装基础
- 你需要生产级 SLA 或商业支持合同——本评测未发现与 SwiftLM 相关的任何融资轮次、付费套餐或支持合同;应将其视为 SharpAI 旗下一个持续活跃开发、面向社区的开源项目,而非有厂商背书的产品
竞品与替代方案
SwiftLM 处于一个规模虽小但正在增长的领域——面向 Apple Silicon 的原生、无需 Python 的 MLX 推理服务器——来看看它与同一细分领域的其他工具,以及它所对标的 Python 参考实现相比如何。
Tool | Best known for | Link |
|---|---|---|
| oMLX | 配备原生 macOS 菜单栏应用及分层 RAM+SSD KV 缓存的 MLX 推理服务器 | oMLX 评测 |
| Rapid-MLX | 原生 MLX 推理服务器,同时在本地提供图像、视频和音频生成服务 | Rapid-MLX 评测 |
| vLLM(MLX 后端) | 高吞吐量推理服务器,为 Apple Silicon 提供 MLX 后端选项 | vLLM MLX 评测 |
| mlx-lm | Apple 官方用于在 MLX 上运行 LLM 的 Python 参考库 | mlx-lm 详解 |
这并非 Apple Silicon 推理工具的完整列表——完整、定期更新的目录请参阅本地 LLM 软件目录,其中也包含 SwiftLM 自身的目录条目。
评估 SwiftLM 时的常见误区
关于 SwiftLM 的大多数误解,源于将它与无关的同名项目混淆,或假设它能在明确不支持的硬件上运行。
误区一:将 SwiftLM 与 Swift LLM 客户端库混淆
有几个其他无关的开源项目使用了与 Swift 语言 LLM 客户端 SDK(从 Swift 应用调用远程或本地 API 的库)相似的名称。位于 github.com/SharpAI/SwiftLM 的 SwiftLM,明确是一款推理服务器——负责运行模型并提供 API 服务的一方——而不是调用他人服务器的客户端库。
误区二:假设 SwiftLM 可以在 Windows、Linux 或 Intel Mac 上运行
根据仓库自身的 Requirements 章节,SwiftLM 需要 Apple Silicon(M1 至 M5)和 macOS 14.0 或更高版本。由于依赖 Apple 的 MLX 框架和 Metal,没有 Windows、Linux 或 Intel Mac 构建版本。
误区三:期待一款图形化桌面应用
SwiftLM 本身是一个没有内置 macOS 图形界面的命令行服务器。项目仓库中列出的图形化客户端是 SwiftBuddy,而它是一款 iOS/iPadOS 应用,并非 Mac 桌面界面。
误区四:假设每一项性能数据都经过独立验证
诸如「10 倍 MoE 加速」或「平均 1.81 倍吞吐量」之类的基准测试数据,来自 SharpAI 自身的 README 和基准测试脚本,在特定硬件(例如 M5 Pro 64 GB 或 M1 Ultra 64 GB 的 Mac)和特定模型配置下运行得出。本评测将这些数据作为 SharpAI 自己公布的结果予以报告,而非 PromptQuorum 重新测量的数字——若要在自己的硬件上复现,请运行项目自带的 run_benchmark.sh。
常见问题
SwiftLM 是什么?
SwiftLM(github.com/SharpAI/SwiftLM)是一款免费、开源(MIT)的原生 Swift 推理服务器,通过严格兼容 OpenAI 的 API,在 Apple Silicon Mac 上运行 MLX 格式的 AI 模型,无需 Python 运行时。
SwiftLM 是免费的吗?
是的。SwiftLM 及其配套应用 SwiftBuddy 均免费,且均采用 MIT 许可,这一点经 GitHub 仓库许可证元数据确认。没有定价页面、账户或付费套餐。
SwiftLM 的系统要求是什么?
根据仓库自身的 Requirements 章节:macOS 14.0 或更高版本、Apple Silicon Mac(M1 至 M5)、Xcode 命令行工具以及 Metal Toolchain。没有 Windows、Linux 或 Intel Mac 版本。
如何安装 SwiftLM?
根据官方 README,可以从项目的 GitHub Releases 页面下载预构建的 macOS arm64 二进制文件并直接运行,或者克隆仓库并运行 ./build.sh 从源代码构建。
SwiftBuddy 是什么?
SwiftBuddy 是 SwiftLM 的免费开源配套应用,面向 iPhone 和 iPad,可从 HuggingFace 下载 MLX 模型并通过 MLX Swift 直接在设备端运行。其源代码位于 SwiftLM 仓库内;截至本评测时,它并未通过 App Store 分发,而是需要通过 Xcode 构建和运行。
SwiftLM 支持视觉或音频输入吗?
支持。根据官方 README,使用 --vision 标志启动 SwiftLM 可启用 Qwen3-VL、Qwen2.5-VL、PaliGemma 等视觉语言模型,--audio 标志则为部分 Gemma-4「Omni」变体启用音频输入。
TurboQuant 是什么?
TurboQuant 是 SwiftLM 自研的 KV 缓存压缩方案,结合了非线性 Lloyd-Max 码本与硬件加速的 Metal 实现。SharpAI 自身的基准测试称,它能将 KV 缓存压缩到约为 FP16 大小的 1/3.5,且精度损失接近于零,通过 --turbo-kv 标志启用。
SSD 专家流式加载是什么?
这是一项功能,可将非活跃的混合专家层直接从 NVMe SSD 流式加载到 GPU,而不要求完整模型驻留在统一内存中,通过 --stream-experts 启用。SharpAI 自身的测试涵盖了在 64 GB 的 Mac 上运行高达 209 GB 的模型。
谁在开发 SwiftLM?
SwiftLM 由 SharpAI 开发,这是一家自 2018 年起活跃在 GitHub 上的硅谷组织,其主要业务是将机器学习应用于 CCTV/NVR 监控系统。SwiftLM 是该组织与其核心业务分开开源发布的通用推理服务器。
SwiftLM 与 Ollama 相比如何?
两者都在兼容 OpenAI 的 API 之后提供本地模型服务,但 Ollama 支持 macOS、Windows 和 Linux,拥有更为庞大的生态系统,而 SwiftLM 仅限 Apple Silicon,并加入了 TurboQuant KV 压缩、面向超大 MoE 模型的 SSD 专家流式加载等 MLX 原生功能。详见上文专门的 SwiftLM 对比 Ollama。
PromptQuorum 是否独立测试过 SwiftLM 的性能声明?
本评测基于 SwiftLM 自身的 GitHub 仓库、README 和发布历史,而非 PromptQuorum 对 SharpAI 公布的性能数据进行的独立基准测试。