
Llamafile:用一个文件分发和运行 LLM
Mozilla 开源的 Llamafile 把 LLM 权重和运行时打包成单个可执行文件,双击即可运行,无需安装依赖。
原文来源:Mozilla-Ocho/llamafile — Mozilla 开源项目,将 LLM 权重和推理运行时打包成单个可执行文件,支持 Windows、macOS 和 Linux,无需安装任何依赖。
分发大语言模型通常很复杂:需要安装 Python、PyTorch、CUDA、下载数十 GB 的权重文件、配置推理参数。Llamafile 彻底简化了这个过程——把整个模型打包成一个可执行文件,双击就能运行。
Llamafile 是什么
Llamafile 是 Mozilla 的创新项目,核心想法来自两个观察:
模型权重是数据 — 几十 GB 的神经网络参数本质上是一个二进制文件。
推理运行时可以是静态链接的 — 把 llama.cpp 编译成单个可执行文件,不依赖外部库。
把这两者结合:可执行文件前面是推理引擎,后面是模型权重。运行文件时,程序从自己的尾部读取权重数据,加载到内存,启动推理服务。
使用方式
下载运行
# 下载一个 llamafile(约 4-8GB)
curl -L https://example.com/llama3-8b.llamafile -o llama3-8b.llamafile
# 添加执行权限(Linux/macOS)
chmod +x llama3-8b.llamafile
# 运行
./llama3-8b.llamafile运行后自动启动本地 HTTP 服务(默认端口 8080),打开浏览器就能对话。
命令行对话
./llama3-8b.llamafile -p "你好,请介绍一下自己"API 模式
# 启动 API 服务
./llama3-8b.llamafile --server
# 然后调用
curl http://localhost:8080/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{"messages":[{"role":"user","content":"你好"}]}'技术原理
Llamafile 的核心技术是把 ZIP 文件和可执行文件结合:
- 文件开头是编译好的 llama.cpp 可执行代码
- 文件尾部是 ZIP 格式的模型权重数据
- 程序运行时从自己的文件尾部解压权重
- 使用 mmap 把权重映射到内存,避免重复加载
这种"自解压可执行文件"的技术在 90 年代很流行,Llamafile 把它用在了 AI 模型分发上。
支持的模型
Llamafile 支持所有 llama.cpp 兼容的模型格式:
- Llama 2/3(Meta)
- Mistral(Mistral AI)
- Qwen(Alibaba)
- DeepSeek(DeepSeek AI)
- Gemma(Google)
- Phi(Microsoft)
社区已经打包了很多现成的 llamafile,可以直接下载使用。
创建自己的 Llamafile
# 安装工具
pip install llamafile
# 从 GGUF 模型创建 llamafile
llamafile-create \
--model model.gguf \
--output mymodel.llamafile与 Ollama 对比
| 维度 | Llamafile | Ollama |
|---|---|---|
| 部署方式 | 单文件 | 需要安装 |
| 模型管理 | 每个模型一个文件 | 集中管理 |
| 运行时 | 自包含 | 需要后台服务 |
| 适用场景 | 分发、便携 | 日常使用 |
| 平台支持 | 全平台 | 全平台 |
Llamafile 更适合模型分发和便携场景,Ollama 更适合日常开发使用。两者可以互补。
应用场景
离线环境 — 没有网络的服务器上,复制一个文件就能运行 LLM。
快速演示 — 给客户演示 AI 功能,不需要解释复杂的安装步骤。
教育场景 — 学生下载一个文件就能体验本地 LLM,零配置。
嵌入式系统 — 资源受限的设备上,单文件部署更简单。
总结
Llamafile 用了一个巧妙的技术方案,解决了 LLM 分发的复杂性。它把"运行一个 AI 模型"从"配置开发环境"变成了"双击一个文件"——这个体验提升对于推广本地 AI 非常有价值。
对于需要分发模型、离线部署或简化用户体验的场景,Llamafile 是一个值得考虑的选择。
© 2026 四月 · CC BY-NC-SA 4.0
原文链接:https://aprilzz.com/tools/llamafile-single-file-llm
相关文章
Clippy:90 年代风格的本地 LLM 界面
把 Clippy 带回桌面,但让它接入本地大模型。一个有趣的复古 UI 实验,证明了 LLM 交互可以有不同的形式。
Open Design:Claude Design 的开源替代方案
Open Design 是 Anthropic Claude Design 的开源替代方案,支持 16 种编码 Agent、71 套品牌级设计系统,可生成交互式原型、幻灯片、图片和视频。本地优先、BYOK、可部署到 Vercel。
llm.c:用纯 C/CUDA 实现 LLM 训练
Andrej Karpathy 用 1000 行纯 C 代码实现了 GPT-2 训练,不依赖 PyTorch 或 TensorFlow,让 LLM 原理变得透明可见。