最近尝试了一个很有意思的项目:在树莓派 5 (8GB) 上跑一个轻量级 LLM,配合 Home Assistant 实现离线的语音智能家居控制。整个过程不需要联网,隐私安全有保障。
硬件配置:
- Raspberry Pi 5, 8GB RAM
- USB 麦克风(ReSpeaker 2-Mic HAT)
- USB 小音箱
- M.2 NVMe SSD(通过 HAT 扩展,做系统盘)
软件栈:
- 模型选择:使用 Qwen2.5-1.5B-Instruct-Q4_K_M.gguf,大约 1GB,在 RPi5 上推理速度约 3-4 tokens/s,完全够用
- 推理引擎:llama.cpp(通过 llamafile 简化部署)
- 语音识别:Whisper.cpp(轻量级本地 ASR)
- 语音合成:piper-tts(离线 TTS,音质不错)
- 智能家居中枢:Home Assistant OS
- 唤醒词检测:Porcupine(离线关键词唤醒)
整体架构:
麦克风 → Porcupine(唤醒) → Whisper.cpp(语音转文字)
→ LLM(理解意图+生成回复) → Piper TTS(文字转语音)
→ Home Assistant API(执行智能家居指令)
实际效果:
- 唤醒响应延迟:约 0.5 秒
- 语音识别准确率:在安静环境下约 90%
- LLM 回复生成:3-4 tokens/s,基本流畅
- 智能家居控制:准确执行开关灯、调温度等操作
遇到的坑:
- RPi5 的散热很重要,必须上主动散热风扇,否则降频严重
- USB 麦克风需要正确配置 ALSA 参数,默认设置延迟很高
- llama.cpp 在 ARM64 上有 NEON 优化,编译时记得开启
- Home Assistant 和 llama.cpp 同时跑会有 CPU 竞争,建议限制 LLM 的进程优先级
成本: 树莓派5 8GB + NVMe HAT + SSD + 麦克风 + 音箱 ≈ 600-800 元 对比市面上的智能音箱方案(小爱同学、HomePod),这个方案的优势是完全离线、数据不上传、可以自由定制。
有没有朋友也在玩 RPi + AI 的项目?欢迎交流经验!特别是语音识别准确率提升和模型优化的方面。