llama.cpp 是轻量高效的大模型本地推理框架,支持 CPU/GPU 加速、跨平台部署,核心是用 GGUF 格式量化模型,低配置也能流畅运行。

一、环境准备(极简版)

1. 系统与硬件要求

  • 系统:Windows / Linux / macOS(全平台兼容)
  • 内存:16GB+(7B模型最低8GB,13B+建议32GB)
  • GPU(可选):NVIDIA(CUDA)、AMD(Vulkan)、Apple Silicon(Metal),加速推理速度

2. 工具准备(免编译优先)

  • 无需编译:直接下载官方预编译二进制包(推荐新手)
  • 需编译:安装 Git、CMake、C++ 编译器(GCC/Clang/MSVC)

二、下载 llama.cpp(2种方式)

方式1:免编译(最快,推荐)

  1. 打开 llama.cpp GitHub Releases
  2. 选择对应系统版本:

    • Windows:Windows x64 (Vulkan/CUDA/CPU)
    • macOS:macOS (Arm64/x64)
    • Linux:Linux x64
  3. 下载后解压到本地目录(如 D:\llama.cpp~/llama.cpp

方式2:源码编译(自定义加速)

# 克隆仓库
git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp

# 基础编译(CPU)
make

# 开启GPU加速(按需选)
# NVIDIA CUDA
make CUDA=1
# AMD Vulkan
make VULKAN=1
# Apple Metal
make METAL=1

编译完成后,二进制文件在 build/bin/ 目录下。

三、下载 GGUF 格式模型(核心)

llama.cpp 仅支持 GGUF 格式(旧版 GGML 已弃用),优先选 4-bit 量化(Q4_K_M),兼顾速度与效果。

推荐模型下载渠道

  • Hugging Face:搜索 模型名 + GGUF(如 Qwen3.5-7B-GGUFLlama-3-8B-GGUF
  • 常用模型:

    • 7B参数:Qwen3.5-7B、Llama-3-8B、Mistral-7B
    • 13B参数:Qwen3.5-14B、Llama-3-13B
  • 下载后将 .gguf 文件放入 llama.cpp/models/ 目录。

四、启动推理(3种常用模式)

1. 命令行聊天(llama-cli)

Windows 示例(CMD/PowerShell)

cd D:\llama.cpp
.\llama-cli.exe -m models/Qwen3.5-7B-Q4_K_M.gguf -ngl 35 -c 4096 -n 512

Linux/macOS 示例

cd ~/llama.cpp
./llama-cli -m models/Qwen3.5-7B-Q4_K_M.gguf -ngl 35 -c 4096 -n 512

核心参数

  • -m:模型路径(必填)
  • -ngl:GPU 卸载层数(0=纯CPU,35=大部分层用GPU)
  • -c:上下文长度(建议4096+)
  • -n:最大生成 token 数
  • -p:直接传入提示词(非交互模式)

2. 启动 API 服务(llama-server)

# Windows
.\llama-server.exe -m models/Qwen3.5-7B-Q4_K_M.gguf --host 0.0.0.0 --port 8080 -ngl 35

# Linux/macOS
./llama-server -m models/Qwen3.5-7B-Q4_K_M.gguf --host 0.0.0.0 --port 8080 -ngl 35

服务启动后,访问 http://localhost:8080 即可用 OpenAI 兼容 API 调用模型。

3. 单轮推理(非交互)

# Windows
.\llama-cli.exe -m models/Qwen3.5-7B-Q4_K_M.gguf -p "解释llama.cpp的核心优势" -n 256

# Linux/macOS
./llama-cli -m models/Qwen3.5-7B-Q4_K_M.gguf -p "解释llama.cpp的核心优势" -n 256

五、常见问题与优化

  1. 内存不足:换更小量化模型(如 Q2_K)、降低 -c 上下文长度
  2. 速度慢:开启 GPU 加速(-ngl 调大)、用更高频 CPU、升级内存
  3. 模型不兼容:确保是 GGUF 格式,llama.cpp 版本与模型匹配
  4. Windows 报错:以管理员身份运行终端,关闭杀毒软件拦截

六、进阶:Python 调用

llama.cpp 提供 Python 绑定,可集成到项目中:

# 安装依赖
pip install llama-cpp-python

# 示例代码
from llama_cpp import Llama

llm = Llama(
    model_path="./models/Qwen3.5-7B-Q4_K_M.gguf",
    n_gpu_layers=35,
    n_ctx=4096
)

output = llm(
    prompt="Q: 本地部署大模型的好处? A:",
    max_tokens=256,
    stop=["Q:", "\n"],
    echo=True
)
print(output["choices"][0]["text"])

标签: llama.cpp, 本地部署大模型

添加新评论