llamafile 是 Mozilla Builders 项目,现由 Mozilla.ai 进行改造与维护。其核心目标:让开放 LLM 对开发者与终端用户都更易获取。实现方式是把 llama.cpp 与 Cosmopolitan Libc 组合成一个框架,将 LLM 的复杂性收敛为单个可执行文件(即 llamafile),可在大多数操作系统和 CPU 架构上本地运行,且无需安装。
主要能力与组成:
- 单文件分发:模型与运行逻辑打包为一个文件,直接执行即可本地运行 LLM。
- 跨平台:支持大多数操作系统和 CPU 架构,无需安装。
- whisperfile:基于 whisper.cpp 与同样的 Cosmopolitan 打包方式构建的单文件语音转文字工具,支持音频文件的转写与翻译,覆盖同样平台,无需安装。
- 版本与构建:自 0.10.0 起采用新的构建系统,以便更容易与最新 llama.cpp 对齐,从而支持更新的模型与功能,但可能缺少部分旧版特性。旧版仍可从 releases 页面获取。预构建 llamafile 会显示其捆绑的服务器版本(如 0.9.* 示例、0.10.* 示例),方便确认下载的软件版本。
使用方式:
- 下载预构建 llamafile 后直接运行;Windows 用户需在运行前将文件重命名为添加 .exe 扩展名。
- Windows 注意:仅小于 4GB 的可执行文件可在 Windows 上运行,超过 4GB 的 llamafile 无法在 Windows 运行;此时可下载 llamafile 二进制并用外部权重/模型(GGUF)运行。
- 文档入口:docs.mozilla.ai/llamafile,涵盖预构建 llamafile、运行 llamafile、创建 llamafile、源码安装、技术细节、支持系统、故障排除等。
适用场景:
- 希望零安装、本地运行开放 LLM 的开发者与终端用户。
- 需要在不同操作系统与 CPU 架构上分发 LLM 的场景。
- 需要本地语音转写与翻译的场景,可使用 whisperfile。
限制与许可:
- Windows 上大于 4GB 的可执行文件无法直接运行,需改用外部权重/模型的方式。
- 0.10.0 起与最新 llama.cpp 对齐的同时,可能缺失旧版中的部分功能。
- 许可:llamafile 项目本身为 Apache 2.0;对 llama.cpp 与 whisper.cpp 的修改采用 MIT 许可,以保持兼容并便于未来向上游合并。
- 页面 logo 在 DALL·E 3 协助下生成。
项目地址:https://github.com/Mozilla-Ocho/llamafile