首页
/ llamafile 项目使用教程

llamafile 项目使用教程

2026-01-22 04:50:39作者:宣聪麟

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_urlapi_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,并了解如何在本地环境中运行它们。

登录后查看全文
热门项目推荐
相关项目推荐

项目优选

收起
kernelkernel
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
471
465
kernelkernel
deepin linux kernel
C
32
16
atomcodeatomcode
Claude 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 Started
Rust
2.09 K
218
ops-nnops-nn
本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
C++
700
1.4 K
docsdocs
暂无描述
Dockerfile
780
5.08 K
pytorchpytorch
Ascend Extension for PyTorch
Python
758
968
flutter_flutterflutter_flutter
本仓库是 Flutter SDK 与 Flutter Engine 的 OpenHarmony 适配版本,由 CPF-Flutter 团队维护。开发者可使用熟悉的 Flutter 技术栈开发 OpenHarmony 应用,3.35.7 及以后的适配版本可基于本仓库源码构建支持 OpenHarmony 的 Flutter Engine。
Dart
1.04 K
271
ops-transformerops-transformer
本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。
C++
880
2.03 K
mindquantummindquantum
MindQuantum is a general software library supporting the development of applications for quantum computation.
Python
183
111
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
1.11 K
682