DeepSeek GGUF 可以不经过 Ollama,直接交给 llama.cpp 的命令行或本地 HTTP 服务。关键步骤是核对模型身份和聊天模板、先用 llama-cli 验证文件能加载,再启动 llama-server 检查 OpenAI 兼容接口。旧站文章只泛谈工具选择,本篇给出可复制命令与验收结果。
先检查这个 GGUF 是否可信
GGUF 是模型容器,不代表文件来自 DeepSeek 官方。下载时保存:

- 转换仓库和上游基础模型链接;
- 量化类型,例如 Q4_K_M;
- 许可证、文件大小和 SHA-256;
- 模型适用的聊天模板说明。
sha256sum ~/models/deepseek.gguf
./build/bin/llama-cli -m ~/models/deepseek.gguf --verbose -n 1 -p "test"
如果程序报未知架构或缺少张量,先更新 llama.cpp 并重新编译,再核对文件是否下载完整。不要把扩展名改成 .gguf 代替转换。
编译 llama.cpp
git clone https://github.com/ggml-org/llama.cpp.git
cd llama.cpp
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build --config Release -j 8
NVIDIA GPU 可按官方文档另建 CUDA 构建目录并加入 -DGGML_CUDA=ON;本文先用通用构建验证模型,避免把 GPU 环境问题和 GGUF 问题混在一起。
用命令行跑第一条问题
./build/bin/llama-cli \
-m ~/models/deepseek.gguf \
-c 2048 -n 128 \
-p "只回答一个数字:9乘以7等于多少?"
预期结果是模型成功加载并输出非空回答。若回答格式异常或不断续写用户文本,查看转换仓库的聊天模板说明;不要先用更长提示词掩盖模板错误。
启动本地 API
./build/bin/llama-server \
-m ~/models/deepseek.gguf \
-c 4096 \
--alias deepseek-local \
--host 127.0.0.1 --port 8080
先看健康状态和模型列表:
curl -i http://127.0.0.1:8080/health
curl http://127.0.0.1:8080/v1/models
再发一条聊天请求:
curl http://127.0.0.1:8080/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model":"deepseek-local",
"messages":[{"role":"user","content":"把数组 [3,1,2] 从小到大排序,只返回数组。"}],
"temperature":0,
"max_tokens":64
}'
验收包括 HTTP 成功、JSON 可解析、模型名存在、回答字段非空。示例期望得到类似 [1,2,3] 的内容,但量化与模板不同可能改变外层文本,业务程序仍应自行解析和校验。
局域网访问前补安全边界
127.0.0.1 只允许本机访问。改成 0.0.0.0 会暴露到所有可达网卡,不能直接映射公网。llama.cpp server 支持 API key 参数,但公开服务还应配合防火墙、反向代理、TLS、请求限制和日志脱敏。
按错误信息处理
- unknown model architecture:更新 llama.cpp,确认该 GGUF 架构已受支持。
- failed to load model:核对文件大小和 SHA-256,排除下载中断。
- 内存不足:换更小量化或模型,降低上下文和 GPU 卸载层数。
- API 有响应但回答混乱:核对聊天模板、Tokenizer 和转换说明;用固定简单问题与上游模型做对照。
资料来源
- llama.cpp 官方仓库:GGUF 推理、CLI 与服务能力,2026-10-01 核验。
- llama.cpp server 文档:OpenAI 兼容路由、alias、上下文和鉴权参数,2026-10-01 核验。
- DeepSeek-R1 模型卡:官方模型与蒸馏模型身份,2026-10-01 核验。
Ai菜鸟网。发布者:AI小管家,转载请注明出处:https://www.alyyhw.com/32188.html