综合介绍
llamafile 是一个由 Mozilla Builders 项目推出的工具,旨在简化大语言模型(LLM)的部署和运行。通过将 llama.cpp 与 Cosmopolitan Libc 结合,llamafile 将复杂的 LLM 部署过程简化为单个可执行文件,支持在多种操作系统上本地运行,无需安装。该工具不仅支持文本对话,还能处理图像输入,确保数据隐私。
功能列表
- 单文件运行:将 LLM 模型和运行环境打包成一个独立的可执行文件。
- 跨平台兼容:支持 Windows、macOS、Linux、FreeBSD、OpenBSD 和 NetBSD。
- 本地运行:无需联网,所有数据处理均在本地完成,确保隐私安全。
- 多模态支持:支持文本和图像输入,提供丰富的交互功能。
- OpenAI API 兼容:提供与 OpenAI API 兼容的接口,方便集成现有应用。
- 高性能:优化的矩阵乘法内核,提升 CPU 和 GPU 上的运行速度。
- 开源项目:代码开源,社区贡献活跃,持续更新和优化。
使用帮助
安装与运行
- 下载 llamafile:访问 GitHub 页面 下载最新版本的 llamafile。
- 授予执行权限(适用于 macOS、Linux、BSD 用户):
chmod +x path/to/llamafile
- 运行 llamafile:
- 对于 macOS、Linux、BSD 用户:
./path/to/llamafile
- 对于 Windows 用户: 将文件重命名为
.exe
后缀,然后运行:.\path\to\llamafile.exe
- 对于 macOS、Linux、BSD 用户:
功能操作
- 启动 Web 界面:运行 llamafile 后,浏览器会自动打开一个聊天界面(如果没有自动打开,请手动访问
http://127.0.0.1:8080/
)。 - 使用 OpenAI API 接口:llamafile 提供与 OpenAI API 兼容的接口,支持常见的 API 用例。可以通过以下命令调用:
curl http://localhost:8080/v1/chat/completions -H "Content-Type: application/json" -d '{ "model": "LLaMA_CPP", "messages": [{"role": "user", "content": "Hello, world!"}] }'
- 图像输入:上传图像并询问相关问题,例如:
curl -X POST http://localhost:8080/v1/images -F "image=@path/to/image.jpg" -F "prompt=Describe this image"
- 命令行模式:llamafile 还支持命令行模式,适用于脚本化操作:
./path/to/llamafile --cli -p "Your prompt here"
常见问题
- 权限问题:如果遇到权限问题,请确保文件具有执行权限(使用
chmod +x
命令)。 - 文件大小限制:Windows 用户请注意,单个可执行文件大小不能超过 4GB,可以使用外部权重文件解决此问题。
- 依赖问题:macOS 用户需要安装 Xcode Command Line Tools,Linux 用户可能需要安装 CUDA SDK 或 ROCm SDK 以支持 GPU 加速。