Reachy Mini实现完全本地化
25 天前 16 阅读来源:HuggingFace Blog
AI 中文改写
原文为英文,由 AI 改写为中文报道,内容完整。如需参考原文请点击下方链接
Reachy Mini 是一款开源机器人套件,过去用户需要将音频发送到云端服务器才能与它对话。但从今天起,情况变了——HuggingFace 团队宣布,Reachy Mini 的整个对话交互流程已经可以完全在本地运行,无需联网、无需API密钥、数据不离开你的机器。
本地化堆栈:VAD → STT → LLM → TTS 级联架构
这套本地方案的核心是 HuggingFace 的 speech-to-speech 库,它采用级联架构(Cascade),包含四个环节:语音活动检测(VAD)→ 语音转文字(STT)→ 大语言模型(LLM)→ 文字转语音(TTS)。整个流程通过一个兼容 Realtime API 的 WebSocket 端点 `/v1/realtime` 对外暴露。
级联架构是目前开源社区最灵活的选择,搭配得当的话也是最快的。用户可以自由替换任何一个环节的模型——毕竟新模型几乎每周都在涌现。官方推荐的最佳组合是:llama.cpp + Gemma 4(LLM)、Silero VAD、Parakeet-TDT(STT)、Qwen3-TTS。
快速上手:三步搞定本地部署
第一步:本地运行 LLM
使用 Hugging Face 的 llama.cpp 工具。安装方式很简单,macOS 用户执行 `brew install llama.cpp`,Windows 用户执行 `winget install llama.cpp`。然后运行:
```
llama-server -hf ggml-org/gemma-4-E4B-it-GGUF -np 2 -c 65536 -fa on --swa-full
```
首次运行会自动下载模型,后续启动速度很快。几个关键参数的含义:`-np 2` 表示两个并行槽位,允许服务器在处理第一个请求时响应第二个请求(比如快速打断);`-c 65536` 是 64K 上下文窗口,足够应对长对话;`-fa on` 开启闪存注意力机制,更快且更省内存;`--swa-full` 保持完整的滑动窗口注意力缓存,用少量内存换取更快的提示处理速度。
第二步:部署 speech-to-speech
安装库:`uv pip install speech-to-speech`
在另一个终端中(保持 LLM 服务运行),执行:
```
speech-to-speech --responses_api_base_url "http://127.0.0.1:8080" --responses_api_api_key "" --mode local
```
首次运行会自动下载 Parakeet 和 Qwen3TTS 模型,之后启动很快。此时你就可以在终端里直接和模型对话了。测试完成后,去掉 `--mode local` 参数重新运行,即可将服务提供给机器人。
第三步:连接 Reachy Mini
在桌面应用中启动机器人,打开对话应用。在 UI 界面中点击“编辑连接”(HF backend),选择本地模式即可。至此,你就可以和机器人自由对话了,所有处理都在本地完成。
为什么要在本地跑语音服务器?
托管式实时后端虽然方便,但自建引擎有三个核心优势:
1. 隐私安全:音频数据从不离开你的网络,整个流水线运行在你控制的硬件上。
2. 零API成本:没有按分钟或按 token 的计费。
3. 完全控制流水线:VAD、STT、LLM、TTS 任何一个环节都可以随时替换——只要 HuggingFace Hub 上有更好的模型。
当然,每个环节都是权衡:更快的 TTS 模型可能质量稍低,更慢的 STT 模型可能准确率更高。官方优化方向是多语言,你也可以针对单一语言进行调优。
这篇文章对你有帮助吗?
觉得有用?分享给更多人
留言 · 0 条
暂无留言,来说两句吧
