使用llama.cpp部署本地大模型

本文最后更新于 2026年6月30日 下午

前言

随着 Qwen、Llama、DeepSeek 等开源大模型越来越成熟,本地部署已经成为很多开发者的选择。

目前最轻量、最流行的推理框架之一就是 llama.cpp

https://llama.app/

https://github.com/ggml-org/llama.cpp

它具有以下特点:

  • 支持 Windows、Linux、macOS
  • 支持 CPU 推理
  • 支持 NVIDIA CUDA
  • 支持 AMD ROCm
  • 支持 Apple Metal
  • 支持 OpenAI API
  • 支持 GGUF 模型
  • 部署简单,占用资源少

本文介绍如何使用 llama.cpp 完整部署本地大模型。

一、什么是 GGUF

GGUF 是 llama.cpp 官方推荐的模型格式。

优点:

  • 加载速度快
  • 支持量化
  • 节省内存
  • CPU/GPU 都支持

例如:

1
Qwen3-4B-Q4_K_M.gguf

其中:

后缀 说明
Q2 最小,占用最低
Q3 精度一般
Q4_K_M 推荐(速度和效果平衡)
Q5_K_M 精度更高
Q6 更高精度
Q8 接近 FP16

一般推荐:

1
Q4_K_M

二、安装依赖

Debian / Ubuntu:

1
2
3
4
5
6
7
8
sudo apt update

sudo apt install -y \
git \
cmake \
build-essential \
libopenblas-dev \
numactl

三、下载 llama.cpp

1
2
3
git clone https://github.com/ggml-org/llama.cpp.git

cd llama.cpp

四、编译

CPU 版本

使用

1
lscpu

查看CPU是否支持 AVX2/AVX512
如果 CPU 支持 AVX2/AVX512 使用下面编译

1
2
3
cmake -B build -DCMAKE_BUILD_TYPE=Release

cmake --build build -j$(nproc)

如果你的 CPU 不支持 AVX2/AVX512,不用强行开启相关优化,直接使用:

1
2
3
cmake -B build -DCMAKE_BUILD_TYPE=Release

cmake --build build -j40

编译完成:

1
2
build/bin/llama-cli
build/bin/llama-server

为了缩短时间,你还可以根据你的CPU核心数开启并行编译,例如:

1
cmake --build build --config Release -j 8

这将以8个并行编译任务来构建程序。

NVIDIA GPU(CUDA)

如果安装好了 CUDA:

1
2
3
4
5
cmake -B build \
-DGGML_CUDA=ON \
-DCMAKE_BUILD_TYPE=Release

cmake --build build -j$(nproc)

即可启用 GPU 推理。


AMD 显卡(ROCm)

1
2
cmake -B build \
-DGGML_HIPBLAS=ON

Apple Silicon

1
2
cmake -B build \
-DGGML_METAL=ON

五、下载模型

必须下载 GGUF

推荐来源:

1、ModelScope(国内推荐)

https://modelscope.cn

搜索:

1
Qwen GGUF

在下载前,请先通过如下命令安装ModelScope

1
2
apt install python3 python3-pip
pip install modelscope

下载:

1
modelscope download --model unsloth/Qwen3-4B-GGUF Qwen3-4B-Q4_K_M.gguf --local_dir /root/llama.cpp/models

2、Hugging Face

https://huggingface.co

国内镜像站:https://hf-mirror.com/

搜索:

1
Qwen GGUF

1
huggingface-cli download <model_repo> <gguf_file> --local-dir <local_dir>

下载完成后放入:

1
2
3
llama.cpp/
models/
Qwen3-4B-Q4_K_M.gguf

六、CPU推理

例如:

1
./build/bin/llama-cli -m ./models/Qwen3-4B-Q4_K_M.gguf -t 20 -c 8192 --color auto --chat-template chatml --temp 0.7 --top-p 0.9

参数说明:

参数 说明
-t CPU线程数
-c 8192 设置上下文窗口大小单位token,数值越大记忆对话内容越多
–color auto 终端颜色输出自动适配终端配色,区分交互信息
–chat-template chatml 设定对话格式模板适配主流大模型对话交互规范
–temp 0.7 生成温度值0严谨固定,1自由发散,0.7通用均衡值
–top-p 0.9 核采样概率阈值筛选高概率词汇,减少无效乱码输出
更多参数 输入 ./build/bin/llama-cli –help 查看

七、GPU 推理

如果使用 CUDA:

1
2
3
./build/bin/llama-cli \
-m models/Qwen3-4B-Q4_K_M.gguf \
-ngl 999

说明:

1
-ngl 999

表示尽可能把模型放到 GPU。

如果显存不足:

1
-ngl 20

只加载部分层。


八、启动 API 服务

推荐:

1
2
3
4
5
6
7
./build/bin/llama-server \
-m models/Qwen3-4B-Q4_K_M.gguf \
-t 20 \
-c 4096 \
-b 256 \
--host 0.0.0.0 \
--port 8000

启动成功:

1
http://服务器IP:8000

OpenAI API:

1
POST /v1/chat/completions

九、测试 API

1
2
3
4
5
6
7
8
curl http://127.0.0.1:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model":"Qwen",
"messages":[
{"role":"user","content":"你好"}
]
}'

十、开机启动(systemd)

创建:

1
sudo nano /etc/systemd/system/llama.service

内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
[Unit]
Description=llama.cpp API Server
After=network.target

[Service]
Type=simple
User=root
WorkingDirectory=/opt/llama.cpp

ExecStart=/opt/llama.cpp/build/bin/llama-server \
-m /opt/llama.cpp/models/Qwen3-4B-Q4_K_M.gguf \
-t 20 \
-c 4096 \
-b 256 \
--host 0.0.0.0 \
--port 8000

Restart=always

[Install]
WantedBy=multi-user.target

启动:

1
2
3
4
5
sudo systemctl daemon-reload

sudo systemctl enable llama

sudo systemctl start llama

查看日志:

1
journalctl -u llama -f

十一、CPU 参数建议

推荐:

1
-t = 物理核心数

例如:

CPU 推荐线程
8核16线程 8
12核24线程 12
20核40线程 20
32核64线程 32

一般不要直接使用超线程数量。


十二、GPU 参数建议

RTX4060:

1
2
Qwen3-4B
Qwen3-8B

RTX3090:

1
2
Qwen3-14B
Qwen3-32B

RTX4090:

1
2
3
DeepSeek-R1 Distill
Qwen3-32B
Llama3-70B(量化)

十三、模型推荐

内存/显存 推荐模型
8GB Qwen3-1.7B
16GB Qwen3-4B
32GB Qwen3-8B
64GB Qwen3-14B
128GB Qwen3-32B

推荐量化:

1
Q4_K_M

十四、性能优化

安装 OpenBLAS:

1
sudo apt install libopenblas-dev

NUMA:

1
2
numactl --interleave=all \
./build/bin/llama-server ...

CPU 性能模式:

1
sudo cpupower frequency-set -g performance

大内存服务器可以考虑:

1
--mlock

减少模型被交换到磁盘。


十五、常见问题

找不到模型

确认:

1
-m models/Qwen3-4B-Q4_K_M.gguf

路径正确。

CPU 很慢

  • 使用 Q4_K_M 量化。
  • 线程数设置为物理核心数。
  • 安装 OpenBLAS。
  • 使用 numactl 优化双路服务器。

GPU 未生效

确认编译时启用了 CUDA:

1
cmake -B build -DGGML_CUDA=ON

启动时:

1
-ngl 999

并通过 nvidia-smi 检查显存占用。


总结

llama.cpp 是目前本地部署大模型最轻量、兼容性最好的推理框架之一,无论是仅有 CPU 的服务器还是配备 NVIDIA GPU 的工作站,都可以快速部署 GGUF 模型,并提供 OpenAI 兼容 API,方便与 Cherry Studio、Open WebUI、LangChain 等工具集成。

对于生产环境,建议:

  • CPU 环境:选择 Q4_K_M 量化模型,线程数设置为物理核心数,配合 OpenBLAS 与 numactl 优化。
  • GPU 环境:启用 CUDA 编译,并使用 -ngl 999 尽可能将模型加载到显卡。
  • 服务部署:通过 llama-server 提供 OpenAI API,并结合 systemd 实现开机自启动,便于长期稳定运行。

这套方案适合个人开发、企业内部知识库、AI 助手和本地推理服务等多种场景。


使用llama.cpp部署本地大模型
https://blog.quickso.cn/2026/06/30/使用llama-cpp部署本地大模型/
作者
木子欢儿
发布于
2026年6月30日
许可协议