llamafile 项目使用教程
1. 项目介绍
llamafile 是一个由 Mozilla-Ocho 开发的开源项目,旨在通过单个文件分发和运行大型语言模型(LLMs)。该项目的目标是使开放的 LLMs 对开发者和终端用户更加易于访问。llamafile 结合了 llama.cpp 和 Cosmopolitan Libc,创建了一个框架,将 LLMs 的所有复杂性压缩到一个单文件可执行文件中,该文件可以在大多数计算机上本地运行,无需安装。
2. 项目快速启动
2.1 下载示例 llamafile
首先,下载适用于 LLaVA 模型的示例 llamafile(许可证:LLaMA 2, OpenAI)。LLaVA 是一个新的 LLM,不仅可以聊天,还可以上传图像并询问有关图像的问题。所有这些操作都在本地进行,不会将数据发送到外部。
# 下载示例 llamafile
wget https://github.com/Mozilla-Ocho/llamafile/raw/main/llava-v1.5-7b-q4.llamafile
2.2 设置执行权限
如果你使用的是 macOS、Linux 或 BSD,需要为文件设置执行权限。
# 设置执行权限
chmod +x llava-v1.5-7b-q4.llamafile
2.3 运行 llamafile
运行下载的 llamafile。
# 运行 llamafile
./llava-v1.5-7b-q4.llamafile
运行后,浏览器应自动打开并显示聊天界面。如果未自动打开,请手动访问 http://localhost:8080。
3. 应用案例和最佳实践
3.1 JSON API 快速启动
llamafile 还提供了一个 OpenAI API 兼容的聊天完成端点,支持最常见的 OpenAI API 用例,并且完全在本地运行。以下是一个使用 curl 命令的示例:
curl http://localhost:8080/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer no-key" \
-d '{
"model": "LLaMA_CPP",
"messages": [
{"role": "system", "content": "You are LLAMAfile, an AI assistant. Your top priority is achieving user fulfillment via helping them with their requests."},
{"role": "user", "content": "Write a limerick about python exceptions"}
]
}' | python3 -m json.tool
3.2 Python API 客户端示例
如果你已经使用 OpenAI 的 Python 包开发了软件,可以通过更改 base_url 和 api_key 来使其与 llamafile 通信。
from openai import OpenAI
client = OpenAI(
base_url="http://localhost:8080/v1",
api_key="sk-no-key-required"
)
completion = client.chat.completions.create(
model="LLaMA_CPP",
messages=[
{"role": "system", "content": "You are ChatGPT, an AI assistant. Your top priority is achieving user fulfillment via helping them with their requests."},
{"role": "user", "content": "Write a limerick about python exceptions"}
]
)
print(completion.choices[0].message)
4. 典型生态项目
4.1 LLaVA
LLaVA 是一个新的 LLM,不仅可以聊天,还可以上传图像并询问有关图像的问题。llamafile 提供了一个适用于 LLaVA 模型的示例文件。
4.2 TinyLlama
TinyLlama 是一个小型 LLM,适用于资源受限的环境。llamafile 也提供了适用于 TinyLlama 的示例文件。
4.3 Mistral-7B-Instruct
Mistral-7B-Instruct 是一个基于 Apache 2.0 许可证的 LLM,llamafile 提供了适用于该模型的示例文件。
通过这些示例文件,用户可以轻松尝试不同类型的 LLMs,并了解如何在本地环境中运行它们。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0153- DDeepSeek-V4-ProDeepSeek-V4-Pro(总参数 1.6 万亿,激活 49B)面向复杂推理和高级编程任务,在代码竞赛、数学推理、Agent 工作流等场景表现优异,性能接近国际前沿闭源模型。Python00
LongCat-Video-Avatar-1.5最新开源LongCat-Video-Avatar 1.5 版本,这是一款经过升级的开源框架,专注于音频驱动人物视频生成的极致实证优化与生产级就绪能力。该版本在 LongCat-Video 基础模型之上构建,可生成高度稳定的商用级虚拟人视频,支持音频-文本转视频(AT2V)、音频-文本-图像转视频(ATI2V)以及视频续播等原生任务,并能无缝兼容单流与多流音频输入。00
auto-devAutoDev 是一个 AI 驱动的辅助编程插件。AutoDev 支持一键生成测试、代码、提交信息等,还能够与您的需求管理系统(例如Jira、Trello、Github Issue 等)直接对接。 在IDE 中,您只需简单点击,AutoDev 会根据您的需求自动为您生成代码。Kotlin03
Intern-S2-PreviewIntern-S2-Preview,这是一款高效的350亿参数科学多模态基础模型。除了常规的参数与数据规模扩展外,Intern-S2-Preview探索了任务扩展:通过提升科学任务的难度、多样性与覆盖范围,进一步释放模型能力。Python00
skillhubopenJiuwen 生态的 Skill 托管与分发开源方案,支持自建与可选 ClawHub 兼容。Python0112