使用llama.cpp部署本地大模型
本文最后更新于 2026年6月30日 下午
前言
随着 Qwen、Llama、DeepSeek 等开源大模型越来越成熟,本地部署已经成为很多开发者的选择。
目前最轻量、最流行的推理框架之一就是 llama.cpp。
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 | |
其中:
| 后缀 | 说明 |
|---|---|
| Q2 | 最小,占用最低 |
| Q3 | 精度一般 |
| Q4_K_M | 推荐(速度和效果平衡) |
| Q5_K_M | 精度更高 |
| Q6 | 更高精度 |
| Q8 | 接近 FP16 |
一般推荐:
1 | |
二、安装依赖
Debian / Ubuntu:
1 | |
三、下载 llama.cpp
1 | |
四、编译
CPU 版本
使用
1 | |
查看CPU是否支持 AVX2/AVX512
如果 CPU 支持 AVX2/AVX512 使用下面编译
1 | |
如果你的 CPU 不支持 AVX2/AVX512,不用强行开启相关优化,直接使用:
1 | |
编译完成:
1 | |
为了缩短时间,你还可以根据你的CPU核心数开启并行编译,例如:
1 | |
这将以8个并行编译任务来构建程序。
NVIDIA GPU(CUDA)
如果安装好了 CUDA:
1 | |
即可启用 GPU 推理。
AMD 显卡(ROCm)
1 | |
Apple Silicon
1 | |
五、下载模型
必须下载 GGUF。
推荐来源:
1、ModelScope(国内推荐)
搜索:
1 | |
在下载前,请先通过如下命令安装ModelScope
1 | |
下载:
1 | |
2、Hugging Face
国内镜像站:https://hf-mirror.com/
搜索:
1 | |
1 | |
下载完成后放入:
1 | |
六、CPU推理
例如:
1 | |
参数说明:
| 参数 | 说明 |
|---|---|
| -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 | |
说明:
1 | |
表示尽可能把模型放到 GPU。
如果显存不足:
1 | |
只加载部分层。
八、启动 API 服务
推荐:
1 | |
启动成功:
1 | |
OpenAI API:
1 | |
九、测试 API
1 | |
十、开机启动(systemd)
创建:
1 | |
内容:
1 | |
启动:
1 | |
查看日志:
1 | |
十一、CPU 参数建议
推荐:
1 | |
例如:
| CPU | 推荐线程 |
|---|---|
| 8核16线程 | 8 |
| 12核24线程 | 12 |
| 20核40线程 | 20 |
| 32核64线程 | 32 |
一般不要直接使用超线程数量。
十二、GPU 参数建议
RTX4060:
1 | |
RTX3090:
1 | |
RTX4090:
1 | |
十三、模型推荐
| 内存/显存 | 推荐模型 |
|---|---|
| 8GB | Qwen3-1.7B |
| 16GB | Qwen3-4B |
| 32GB | Qwen3-8B |
| 64GB | Qwen3-14B |
| 128GB | Qwen3-32B |
推荐量化:
1 | |
十四、性能优化
安装 OpenBLAS:
1 | |
NUMA:
1 | |
CPU 性能模式:
1 | |
大内存服务器可以考虑:
1 | |
减少模型被交换到磁盘。
十五、常见问题
找不到模型
确认:
1 | |
路径正确。
CPU 很慢
- 使用
Q4_K_M量化。 - 线程数设置为物理核心数。
- 安装 OpenBLAS。
- 使用
numactl优化双路服务器。
GPU 未生效
确认编译时启用了 CUDA:
1 | |
启动时:
1 | |
并通过 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 助手和本地推理服务等多种场景。
