树莓派 5 可以运行 DeepSeek 的小型蒸馏模型,但适合的是离线问答、接口联调和学习,不是完整的 671B DeepSeek-R1。下面用 64 位 Raspberry Pi OS、llama.cpp 和 DeepSeek-R1-Distill-Qwen-1.5B 的兼容 GGUF 文件跑通一次 CPU 推理,再用本地 API 验收。本文没有在你的存储卡、散热和 GGUF 文件上实测,速度要以本机基准结果为准。
先确认硬件和模型边界
DeepSeek 的模型卡列出了 1.5B、7B、14B 等蒸馏模型。树莓派 5 首次尝试应从 1.5B 的 Q4_K_M GGUF 开始;模型越大、上下文越长,内存占用和等待时间都会上升。建议使用 64 位系统、主动散热和足够的磁盘空间。4GB 机型并非必然不能启动,但给系统、模型和 KV 缓存留下的余量很小;8GB 机型更容易排查问题。

先执行:
uname -m
free -h
df -h
vcgencmd get_throttled
uname -m 应显示 aarch64。最后一条命令若持续出现降频或欠压状态,先处理电源和散热,否则速度测试没有比较价值。树莓派官方资料说明 Raspberry Pi 5 使用 BCM2712 四核 Arm Cortex-A76;这只能说明它能编译 Arm64 程序,不能据此承诺某个模型的生成速度。
编译 llama.cpp
sudo apt update
sudo apt install -y git cmake build-essential libcurl4-openssl-dev
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 4
构建完成后检查程序:
./build/bin/llama-cli --version
./build/bin/llama-server --help | head
如果编译进程被系统杀掉,先看 dmesg -T | tail 是否出现内存不足;降低并行度为 -j 2 后重试,不要反复清空源码目录。
准备可追溯的 GGUF 文件
DeepSeek 官方模型仓库提供蒸馏模型信息,但 GGUF 往往来自转换后的仓库。下载前记录模型页面、基础模型、量化类型、许可证和文件哈希,确认名称确实对应 DeepSeek-R1-Distill-Qwen-1.5B,而不是把任意文件改名。
mkdir -p ~/models/deepseek-1.5b
cd ~/models/deepseek-1.5b
# 将已核实来源的 Q4_K_M 文件放到这里,再改成实际文件名
sha256sum DeepSeek-R1-Distill-Qwen-1.5B-Q4_K_M.gguf
哈希用于传输后复核,不代表模型来源可靠;来源页和许可证仍要单独保存。
先跑命令行,再开 API
cd ~/llama.cpp
./build/bin/llama-cli \
-m ~/models/deepseek-1.5b/DeepSeek-R1-Distill-Qwen-1.5B-Q4_K_M.gguf \
-t 4 -c 2048 -n 128 \
-p "只回答一个数字:17 加 25 等于多少?"
验收不是看回答风格,而是进程正常加载模型、没有内存分配错误,并输出非空答案。通过后启动仅监听本机的服务:
./build/bin/llama-server \
-m ~/models/deepseek-1.5b/DeepSeek-R1-Distill-Qwen-1.5B-Q4_K_M.gguf \
-t 4 -c 2048 --host 127.0.0.1 --port 8080
另开终端验证模型列表和对话接口:
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 '{"messages":[{"role":"user","content":"只回答一个数字:17加25等于多少?"}],"temperature":0,"max_tokens":32}'
第一条应返回模型条目,第二条应在 JSON 的回答字段中出现非空内容。不要把服务直接监听到公网;需要局域网访问时,先配置防火墙、鉴权或反向代理。
卡住时按现象排查
- 提示模型架构不支持:更新 llama.cpp 后重新编译,并核对 GGUF 的模型架构与来源。
- 加载时被杀:用
free -h、dmesg -T查看内存不足,换更小量化或降低上下文。 - 运行一段时间变慢:查看
vcgencmd measure_temp和降频状态,先改善散热。 - 接口不通:确认 server 进程仍在、端口为 8080,并先在本机请求
127.0.0.1。
资料来源
- llama.cpp 构建文档:CMake 构建方法与 Arm 相关后端说明,2026-10-01 核验。
- llama.cpp server 文档:线程、上下文和 OpenAI 兼容接口参数,2026-10-01 核验。
- DeepSeek-R1-Distill-Qwen-1.5B 模型卡:模型身份和蒸馏模型列表,2026-10-01 核验。
- Raspberry Pi BCM2712 文档:处理器架构信息,2026-10-01 核验。
Ai菜鸟网。发布者:AI小管家,转载请注明出处:https://www.alyyhw.com/32109.html