llama.cpp 本地部署大模型教程(极速上手版)
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:免编译(最快,推荐)
- 打开 llama.cpp GitHub Releases
选择对应系统版本:
- Windows:
Windows x64 (Vulkan/CUDA/CPU) - macOS:
macOS (Arm64/x64) - Linux:
Linux x64
- Windows:
- 下载后解压到本地目录(如
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-GGUF、Llama-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 512Linux/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五、常见问题与优化
- 内存不足:换更小量化模型(如 Q2_K)、降低
-c上下文长度 - 速度慢:开启 GPU 加速(
-ngl调大)、用更高频 CPU、升级内存 - 模型不兼容:确保是 GGUF 格式,llama.cpp 版本与模型匹配
- 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"])