文章摘要
作者分享了从Google Home转向本地托管语音助手的过程,使用Home Assistant的Assist功能搭配本地运行的llama.cpp(原Ollama),并介绍了相关配置决策和新增功能,如安全摄像头分析和YouTube视频搜索播放等改进。
文章总结
构建可靠且愉悦的本地语音助手之旅
背景与动机
作者长期关注HomeAssistant的语音助手进展,原本使用Google Home/Nest Mini,后因功能退化、隐私顾虑及云端依赖问题,转向完全本地化的解决方案(基于local first + llama.cpp/Ollama)。本文分享了硬件选型、软件配置及优化过程中的关键决策。
核心配置与优化
硬件配置
- 语音设备:
- 1个HA Voice Preview Satellite
- 2个Satellite1小型设备
- 1台Pixel 7a作为卫星/中枢
- 语音服务器:
- Beelink MiniPC(需支持USB4)
- USB4 eGPU扩展坞
- GPU性能对比:
| GPU型号 | 适用模型规模 | 响应时间 | 备注 |
|----------------|------------------|-----------|-----------------------------|
| RTX 3090 24GB | 20B-30B混合专家模型 | 1-2秒 | 高效运行最优模型 |
| RTX 3050 8GB | 4B密集模型 | 3秒 | 仅适合基础功能 |
模型测试结果
测试了多款模型在以下场景的表现:
- 多设备指令(如“开风扇并关灯”)
- 上下文理解(根据区域自动选择设备)
- 容错能力(纠错“开锅”为“开灯”)
- 抗干扰(忽略误触发的无关文本)
推荐模型:
- GGML GPT-OSS:20B MXFP4:全场景表现优秀(✅✅✅✅)
- Unsloth Qwen3.5-35B-A3B MXFP4_MOE:部分场景需优化(✅🟡🟡✅)
关键软件组件
语音转文本(STT):
- Wyoming ONNX ASR(OpenVINO优化版,响应0.3秒)
- Rhasspy Faster Whisper(ONNX CPU版,速度较慢)
文本转语音(TTS):
- Kokoro TTS:支持多声线混合,通用性强
- Piper TTS:基础功能可用,但处理数字/地址不佳
LLM集成:
- LLM Conversation:优化对话体验
- LLM Intents:扩展功能(天气、搜索等)
挑战与解决方案
唤醒词定制:
- 使用microWakeWord-Trainer训练“Hey Robot”唤醒词,30分钟完成训练,误触发率与Google Home相当。
音乐播放自动化:
```yaml alias: Music Shortcut triggers:- command: "Play {music}" # 触发词模板 actions:
- service: musicassistant.playmedia data: media_id: "{{ trigger.slots.music }}" # 动态传递歌曲名 ```
LLM提示词优化:
- 通过ChatGPT迭代优化提示词结构,例如:
markdown # 天气服务 <ul> <li>必须调用HassGetWeather工具 </li> <li>输出格式:简洁无表情符号<br /> 示例响应:“今天晴,最高25°C”<br />
- 通过ChatGPT迭代优化提示词结构,例如:
成果与建议
- 优势:完全本地化、隐私安全、响应速度≤2秒(高端GPU)。
- 不足:需手动调试模型和自动化,适合技术爱好者。
- 作者建议:持续关注llama.cpp优化方案和社区更新。
“目标已达成:一个更愉悦、本地化且可靠的语音助手,核心任务处理流畅。” —— 作者总结
评论总结
总结评论内容:
- 对智能助手功能的肯定
- 认为该产品在情境理解上远超Siri
- 关键引用:"Their first version is most likely already 10x better than Siri"
- 关键引用:"Understands when it is in a particular area and does not ask 'which light?' when there is only one light"
- 关于隐私保护的替代方案
- 提出使用传统电话作为语音助手终端的创新方案
- 关键引用:"using analog phones (including rotary ones!) to act as the satellites"
- 关键引用:"makes it more private and I don't find myself missing my smart speakers that much"
注:所有评论均未显示评分(None),因此无法评估认可度。