关键要点
- Apache 2.0许可证;项目自身对llama.cpp和whisper.cpp的改动仍保持MIT许可,以便可以上游合并
- 截至2026年9月,GitHub星标数约25,900+,仓库地址为github.com/mozilla-ai/llamafile
- 由Cosmopolitan Libc的创造者Justine Tunney创建,2023年11月由Mozilla创新小组首次发布
- 一个可执行文件可在macOS、Linux、BSD和Windows上运行 —— 仅Windows将可执行文件限制为4 GB
- GPU加速可通过Metal(Apple Silicon)、CUDA(NVIDIA)、ROCm(AMD)和Vulkan实现
- 直接基于llama.cpp进行实际的模型推理,由Cosmopolitan Libc解决跨平台打包问题
📍 简单一句话
llamafile是一个免费、Apache 2.0许可的项目,由Justine Tunney创建、Mozilla最初发布,它将一个模型和llama.cpp引擎打包成单个可执行文件,借助Cosmopolitan Libc无需修改即可在macOS、Linux、Windows和BSD上运行。
💬 简单来说
下载一个文件并双击运行 —— 无需安装程序,也无需选择特定平台的构建版本 —— 因为这个文件本身在多个操作系统上同时有效,这是Cosmopolitan Libc实现的技巧,而不是llamafile把多个独立构建打包在一起。
📌注: 0.10.0版本引入了重构后的构建系统,使llamafile与当前的llama.cpp版本保持同步,而Linux版CUDA支持在经历一段不同步期后于2026年2月重新引入 —— 请查看发行说明以了解所下载版本的确切功能集。
llamafile是什么?
llamafile是一个免费的开源项目,它将一个语言模型与llama.cpp推理引擎打包成单个可执行文件,可在多个操作系统上无需安装即可分发和运行。 它由Justine Tunney创建,并于2023年11月由Mozilla创新小组首次发布。
该项目托管在github.com/mozilla-ai/llamafile(此前在Mozilla-Ocho组织下),GitHub星标数已超过约25,900。它以Apache 2.0许可证发布,而项目自身对llama.cpp和whisper.cpp的改动仍保持MIT许可,以便与这些项目保持兼容并可上游合并。
- 将一个模型文件和llama.cpp引擎合并为一个可分发的可执行文件,而不需要单独安装引擎再单独下载模型
- 实际的推理工作直接基于llama.cpp —— llamafile自身的贡献在于打包和跨平台执行层
- 默认启动时会运行一个聊天Web界面,同时提供兼容OpenAI API的服务器模式
- 项目和社区成员在Hugging Face上发布了针对热门开放权重模型的预构建示例llamafile
Cosmopolitan Libc是什么,它是如何实现这一点的?
Cosmopolitan Libc同样由Justine Tunney创建,是一种C标准库,专门用于编译能同时在多个操作系统和CPU架构上有效运行的"胖"二进制文件。 这正是使llamafile单文件跨平台分发成为可能的底层技术。
- 用Cosmopolitan Libc构建的二进制文件可以无需修改地在macOS、Linux、BSD和Windows上运行,而不需要为每个操作系统单独编译构建版本
- 这与将多个平台专用二进制文件打包进一个归档文件的做法不同 —— 它确实是一个能在多个系统上有效运行的单一二进制文件
- Windows对可执行文件施加4 GB的大小限制,这限制了单个llamafile在该平台上能达到的最大体积
- Cosmopolitan Libc是一个独立的通用项目;llamafile只是它的一个重要应用,而非唯一应用
如何下载并运行llamafile?
下载所需模型的预构建llamafile,将其设为可执行,然后直接运行 —— 无需单独的安装步骤。 也支持从你自己的GGUF模型文件构建自定义llamafile。
- 1从项目的Hugging Face页面或GitHub发布页面下载预构建的llamafile(与引擎捆绑的模型)。
- 2在macOS和Linux上,如果文件尚未设为可执行,先将其设为可执行(
chmod +x yourmodel.llamafile),然后直接运行(./yourmodel.llamafile)。 - 3在Windows上,如果文件还没有
.exe扩展名,请为其添加,因为Windows是通过这种方式识别可执行文件的。 - 4默认情况下,运行该文件会在浏览器中启动本地聊天Web界面,同时提供兼容OpenAI API的服务器端点。
- 5要启用GPU加速,传入
-ngl 999参数,将尽可能多的层卸载到检测到的GPU(Metal、CUDA、ROCm或Vulkan)上。 - 6要从你自己的GGUF模型构建自定义llamafile,可使用项目的打包工具将模型与llamafile引擎二进制文件组合起来。
llamafile需要安装吗?
不需要。下载文件,如有需要将其设为可执行,然后直接运行 —— 无需单独的安装程序。
llamafile可以在没有GPU的情况下运行吗?
可以。仅使用CPU即可直接运行;GPU加速(Metal、CUDA、ROCm、Vulkan)是可选的性能提升,而非必需项。
llamafile支持哪些硬件和GPU加速?
llamafile开箱即用支持纯CPU运行,并在大多数主要厂商上提供可选的GPU加速。 GPU支持随时间不断演进,因此具体能力取决于所下载的版本。
- Apple Silicon —— Metal加速,检测到Metal GPU时默认启用(于2025年12月实现)
- NVIDIA —— Linux上的CUDA加速,在经历与上游llama.cpp不同步的一段时期后,于2026年2月重新引入
- AMD —— ROCm加速
- 跨厂商 —— Vulkan后端支持
- GPU库(CUDA、ROCm、Vulkan)是从可执行文件旁的预构建文件中动态加载的,而不是永久编译进可执行文件本身
谁适合使用llamafile?
如果将模型分发或运行为一个无依赖、跨平台的单一文件比立即获得最新的llama.cpp功能更重要,请使用llamafile;如果单文件可移植性不是优先事项,请直接使用llama.cpp或使用封装应用。
llamafile与KoboldCpp及其他免安装工具相比如何?
llamafile最接近的对比对象是KoboldCpp —— 两者都以基于llama.cpp的单一文件形式分发 —— 但它们解决的是不同的问题:跨平台可移植性与内置的角色扮演UI。
评估llamafile时的常见误解
大多数困惑源于误解跨平台单文件技巧的原理,或期望立即获得最新的llama.cpp功能。
常见问题
llamafile是什么?
llamafile是一个免费的Apache 2.0许可项目,它将一个模型和llama.cpp引擎打包成单个可执行文件,借助Cosmopolitan Libc无需修改即可在macOS、Linux、Windows和BSD上运行。
llamafile是谁创建的?
Cosmopolitan Libc的创造者Justine Tunney创建了llamafile,该项目于2023年11月由Mozilla创新小组首次发布,现由github.com/mozilla-ai/llamafile维护。
一个文件为什么能在macOS、Linux和Windows上运行?
llamafile使用Cosmopolitan Libc构建,这是一种C标准库,旨在生成一个能同时在多个操作系统和CPU架构上有效运行的单一二进制文件,而不需要为每个平台单独构建。
llamafile可以免费商用吗?
可以。llamafile采用Apache 2.0许可证,个人和商业使用均免费。其对llama.cpp和whisper.cpp的改动仍保持MIT许可。
llamafile需要GPU吗?
不需要。默认情况下纯CPU运行即可正常工作;通过Metal、CUDA、ROCm或Vulkan进行的GPU加速是可选项,可提升速度。
llamafile有文件大小限制吗?
有,仅在Windows上 —— Windows将可执行文件限制为4 GB,这可能会限制为Windows用户打包的单个llamafile中模型的大小。
llamafile会与llama.cpp保持同步更新吗?
它是定期而非持续同步的 —— 0.10.0版本专门引入了重构后的构建系统,以跟上当前的llama.cpp版本,而Linux版CUDA支持在经历一段滞后期后于2026年2月重新引入。
llamafile与KoboldCpp有什么区别?
两者都以基于llama.cpp的单一文件形式分发,且都无需单独的安装程序,但llamafile的独特之处在于真正的跨平台可移植性(一个文件可在4种不同操作系统上运行),而KoboldCpp的独特之处在于内置了专注于角色扮演和故事写作的Web界面。
我可以用自己的模型制作llamafile吗?
可以。该项目提供打包工具,可将GGUF模型文件与llamafile引擎二进制文件组合成一个自定义的单一可执行文件。
llamafile适合用于生产环境的多用户服务吗?
这不是它的重点。llamafile专为简单、便携的单文件分发以及单用户或小规模使用而设计;对于高吞吐量的多用户生产环境服务,vLLM或SGLang是更合适的工具。
