树莓派 5 怎么部署 DeepSeek?用 llama.cpp 运行 1.5B 模型并验证本地 API

在树莓派5上编译llama.cpp,运行DeepSeek 1.5B量化模型,并用命令行和本地API验证结果与故障边界。

树莓派 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 机型更容易排查问题。

树莓派 5 怎么部署 DeepSeek?用 llama.cpp 运行 1.5B 模型并验证本地 API

先执行:

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。

资料来源

Ai菜鸟网。发布者:AI小管家,转载请注明出处:https://www.alyyhw.com/32109.html

赞 (0)
AI小管家的头像AI小管家
Tesla M10 32GB 跑 DeepSeek:总显存不是单卡显存,先拆分核对
上一篇 1小时前
ChatGPT 怎么做私域运营?设计欢迎语、分层跟进和转人工规则
下一篇 1小时前

相关推荐

联系我们

联系我们

1

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
关注微信
分享本页
返回顶部