以下是使用llama.cpp 部署DeepSeek模型的完整指南
一、环境准备
- 安装llama.cpp
- 克隆仓库并编译:
git clone https://github.com/ggerganov/llama.cpp cd llama.cpp && make
- 建议启用CUDA加速(需安装NVIDIA驱动):
make LLAMA_CUBLAS=1
- 生成关键工具:
main
(推理)、quantize
(量化)、server
(API服务)。
- 克隆仓库并编译:
- 准备DeepSeek模型
- 需获取GGUF格式的模型文件(llama.cpp 专用格式)。若原始模型为PyTorch或Safetensors格式,需使用转换脚本:
该命令将模型转换为FP32精度的GGUF格式。python3 convert.py --vocab-type spm --outtype f32 ./models/deepseek-r1-7b/
- 需获取GGUF格式的模型文件(llama.cpp 专用格式)。若原始模型为PyTorch或Safetensors格式,需使用转换脚本:
二、模型量化(可选)
- 量化目的
通过降低参数精度减少显存占用,例如:- 原始7B模型约13GB → Q4量化后约3.6GB。
- 执行量化
支持多种量化级别:Q4_0(最快)、Q5_K(平衡)、Q8_0(高精度)。./quantize ./models/deepseek-r1-7b.f32.gguf ./models/deepseek-r1-7b-Q4_K_M.gguf Q4_K_M
三、模型推理
- 基础运行
./main -m ./models/deepseek-r1-7b-Q4_K_M.gguf -p "解释量子纠缠" -n 512
-n
控制生成长度,-t
指定线程数(CPU核心数)。
- GPU加速
添加-ngl 35
参数,将35层模型加载到GPU显存:./main -m ./models/deepseek-r1-7b-Q4_K_M.gguf --n-gpu-layers 35 -p "用React实现可拖拽组件"
四、API服务部署
- 启动服务
./server -m ./models/deepseek-r1-7b-Q4_K_M.gguf --port 8080
- 默认监听
localhost:8080
,支持OpenAI兼容API。
- 默认监听
- 客户端调用示例(Python)
import openai client = openai.OpenAI(base_url="http://localhost:8080/v1") response = client.chat.completions.create( model="deepseek-r1", messages=[{"role": "user", "content": "写一首关于AI的诗"}] ) print(response.choices[0].message.content)
五、硬件建议
模型规模 | 最低配置 | 推荐配置 |
---|---|---|
1.5B | 4GB RAM | 8GB RAM + GPU |
7B | 8GB RAM | 16GB RAM + 8GB显存 |
671B | 128GB RAM | 多卡A100/A800集群 |
六、进阶技巧
-
混合推理
使用--split-mode layer
参数实现CPU+GPU混合推理,优化大模型运行效率。 -
知识库集成
结合LangChain框架,通过llama.cpp
的API接入本地文档库,构建企业级RAG系统。
提示:完整671B模型的部署需参考清华团队的KTransformers优化方案,可在4090显卡上实现全量运行。更多实践细节可查看中的完整教程。