前途科技前途科技
  • 洞察
  • 服务
  • 关于
  • AI 资讯
    • 快讯
    • 产品
    • 技术
    • 商业
    • 政策
    • 初创
  • 洞察
  • 资源中心
    • 深度研究
      • AI 前沿
      • 案例研究
      • AI 知识库
    • 行业报告
      • 白皮书
      • 行业报告
      • 研究报告
      • 技术分享
      • 专题报告
    • 精选案例
      • 金融行业
      • 医疗行业
      • 教育行业
      • 零售行业
      • 制造行业
  • 服务
  • 关于
联系我们

Reachy Mini 实现完全本地语音对话

技术2026年5月26日· 原作者:Hugging Face· 9 分钟阅读0 阅读

Hugging Face 为 Reachy Mini 机器人推出全本地语音流水线,基于 speech-to-speech 库,无需云端或 API 密钥即可运行。级联架构(VAD、STT、LLM、TTS)全部在本地完成,保护隐私且零费用,用户可自由替换组件。

组装好 Reachy Mini 后,通常会安装对话应用(GitHub 仓库)并开始与它对话。此前,需要将音频发送到服务器处理;但现在无需如此。本文将演示如何完全在本地运行整个流水线。

这套流水线基于 Hugging Face 的 speech-to-speech 库,采用级联方式实现 VAD(语音活动检测)→ STT(语音转文字)→ LLM(大语言模型)→ TTS(文字转语音),并暴露一个兼容 Realtime API 的 WebSocket 端点 /v1/realtime。启动后端后,只需在机器人 UI 中指向该地址即可。

级联流水线是目前开源领域最灵活的方案,只要组件选对,它也是最快的。本文将推荐一些优选组件,但级联的优势在于可以自由替换——新模型每周都在涌现。

摘要

  • 为 Reachy Mini 部署本地语音后端
  • 使用 speech-to-speech 库,级联架构
  • 推荐:llama.cpp + Gemma 4、Silero VAD、Parakeet-TDT 0.6B v3 STT、Qwen3-TTS

快速开始

以下步骤让 Reachy Mini 完全在本地进行对话,无需云端、无需 API 密钥,数据不会离开机器。这里有一段演示视频:

Reachy Mini 本地对话演示

本地服务 LLM

为了在本地运行 LLM,使用 Hugging Face 的 llama.cpp。安装方式:brew install llama.cpp(macOS)或 winget install llama.cpp(Windows),更多帮助见官方文档。首先运行:

llama-server -hf ggml-org/gemma-4-E4B-it-GGUF -np 2 -c 65536 -fa on --swa-full

完成!首次运行会下载模型,后续启动很快。

各参数含义:

  • -hf ggml-org/gemma-4-E4B-it-GGUF:直接从 Hugging Face Hub 拉取模型。首次下载,后续使用缓存。
  • -np 2:两个并行槽位,允许服务器处理第二个请求(如快速打断)而不阻塞第一个。
  • -c 65536:64k 上下文窗口,各槽位共享,长对话有充足空间。
  • -fa on:启用 Flash Attention,更快、更省内存,现代硬件上几乎免费。
  • --swa-full:保留完整的滑动窗口注意力缓存,而非重新计算。牺牲少量内存,换来 Gemma 上更快的提示处理。

配置 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-TDT 0.6B v3 和 Qwen3TTS,后续启动很快。

本地对话模式演示

在 --mode local 测试完毕后,不带该选项重新运行,即可将 speech-to-speech 服务提供给机器人。

连接 Reachy Mini 到 speech-to-speech

在 llama.cpp 和 speech-to-speech 都运行起来后,启动机器人的桌面应用并运行对话应用。在对话应用的 UI 中,点击“HF backend”下的“edit connection”,选择本地模式。具体操作可参考以下视频:

设置对话应用

至此,设置完成。你可以和机器人开始对话了。流水线的每个环节都有权衡:更快的 TTS 模型质量稍低,更慢的 STT 模型精度更高。本文针对多语言进行了优化,如果需要单一语言,可以自行调整。下文介绍如何自定义。

深入探讨

为何运行自己的语音转语音服务器?

托管的实时后端很方便,但运行自己的引擎有三大优势:

  • 隐私:音频数据从不离开网络,整个流水线在你控制的硬件上运行。
  • 零 API 费用:没有每分钟或每 token 的费用。
  • 完全控制流水线:可替换任何组件(VAD、STT、LLM、TTS),当 Hub 上出现更好的模型时随时更新。

speech-to-speech 仓库通过一个 CLI 提供所有这些功能。它启动一个 WebSocket 服务器(/v1/realtime),Reachy Mini 已经知道如何与该协议通信。

推荐的默认配置:VAD、STT、TTS

级联语音流水线包含四个阶段:VAD、STT、LLM、TTS。其中三个阶段本文给出了默认选择,因此你可以专注于 LLM:

阶段选择理由
VADSilero VAD v5小巧、准确、可在 CPU 上运行,开源语音智能体领域的事实标准。
STTParakeet-TDT 0.6B v3支持流式、速度快、英语质量好。
TTSQwen3-TTS富有表现力、低延迟、多语言、支持自定义音色。

上述选择仅供参考,完全可以根据自己的偏好替换。

选择 LLM

LLM 对系统延迟和整体性能影响最大。speech-to-speech 支持两种方式:本地运行模型(llama.cpp、MLX、Transformers、vLLM)或使用支持 Responses API 的服务器(OpenAI、Gemini、Hugging Face Inference Endpoints、llama.cpp、vLLM 等)。

Responses API:将大脑与语音循环解耦

系统的瓶颈在于 LLM 推理延迟。为此,speech-to-speech 支持通过 Responses API 协议使用外部推理引擎。LLM 在一个独立进程中运行,语音循环在另一个进程,两者通过 HTTP 通信。

选项 1:llama.cpp 在终端 1,speech-to-speech 在终端 2

终端 1:llama.cpp 服务器

llama-server -hf ggml-org/gemma-4-E4B-it-GGUF -np 2 -c 65536 -fa on --swa-full

终端 2:speech-to-speech 客户端

speech-to-speech \
  --mode realtime \
  --stt parakeet-tdt \
  --tts qwen3 \
  --llm_backend responses-api \
  --model_name "unsloth/Qwen3-4B-Instruct-2507-GGUF" \
  --responses_api_base_url "http://127.0.0.1:8080/v1"
选项 2:vLLM 在终端 1,speech-to-speech 在终端 2

需要 vLLM ≥ 0.21.0。vLLM 0.21.0 才开始完整支持 Responses API 协议,包括 tool-call streaming(供 speech-to-speech 后端使用)。旧版本可以启动,但当助手尝试调用工具时会失败。

使用 vLLM 服务模型时,有三个参数是必需的:

  • --enable-auto-tool-choice
  • --tool-call-parser <tool_parser_name>:选择适配家族的解析器,将模型原始输出转为结构化的工具调用(例如 qwen3_coder 对应 Qwen3 instruct 模型、llama3_json 对应 Llama 3、hermes 对应 Hermes 风格模型等)。
  • --default-chat-template-kwargs '{"enable_thinking":false}':禁用支持“思考”通道的模型的 <think> 推理过程。对于更复杂的智能体任务可以设为 true 让模型推理,但为了自然对话体验,强烈建议关闭:每个思考 token 都会造成用户听到的静默延迟。

终端 1:vLLM 推理服务器(Qwen/Qwen3-4B-Instruct-2507)

vllm serve Qwen/Qwen3-4B-Instruct-2507 \
  --port 8000 \
  --host 127.0.0.1 \
  --max-model-len 32768 \
  --enable-auto-tool-choice \
  --tool-call-parser qwen3_coder \
  --default-chat-template-kwargs '{"enable_thinking":false}' \
  --speculative-config '{"method":"qwen3_next_mtp","num_speculative_tokens":1}'

--speculative-config 参数启用多 token 预测(MTP)。这是可选的,但对端到端延迟有很大提升。如果模型支持,建议保留。

终端 2:speech-to-speech 客户端

speech-to-speech \
  --mode realtime \
  --stt parakeet-tdt \
  --tts qwen3 \
  --llm_backend responses-api \
  --model_name "Qwen/Qwen3-4B-Instruct-2507" \
  --responses_api_base_url "http://127.0.0.1:8000/v1"
选项 3:Hugging Face Inference Endpoints

协议相同,但模型运行在 Hugging Face 托管的 GPU 上。部署任意聊天模型为 Inference Endpoint,然后将语音循环指向其 URL:

speech-to-speech \
  --mode realtime \
  --stt parakeet-tdt \
  --tts qwen3 \
  --llm_backend responses-api \
  --model_name "Qwen/Qwen3-4B-Instruct-2507" \
  --responses_api_base_url "https://<your-endpoint>.endpoints.huggingface.cloud/v1" \
  --responses_api_api_key "$HF_TOKEN"
选项 4:Hugging Face Inference Providers

如果不想管理自己的端点,可以使用 Inference Provider。Hugging Face 将请求路由到第三方后端(如 Together、Fireworks、Replicate),只需一个 URL:

speech-to-speech \
  --mode realtime \
  --stt parakeet-tdt \
  --tts qwen3 \
  --llm_backend responses-api \
  --model_name "Qwen/Qwen3.6-35B-A3B:deepinfra" \
  --responses_api_base_url "https://router.huggingface.co/v1" \
  --responses_api_api_key "$HF_TOKEN"
选项 5:OpenAI(或任意兼容 OpenAI 的提供商)

想要零基础设施测试前沿模型时,只需将同样的参数指向 OpenAI:

speech-to-speech \
  --mode realtime \
  --stt parakeet-tdt \
  --tts qwen3 \
  --llm_backend responses-api \
  --model_name "gpt-5.4" \
  --responses_api_api_key "$OPENAI_API_KEY"

--responses_api_* 参数对任何实现了该协议的提供商(OpenRouter、Together、Fireworks 等)都适用。只需更换 base URL 和 API key,流水线其余部分不变。

在进程中运行 LLM

选项 1:在 MLX 上运行本地 LLM(Apple Silicon)

如果使用 Mac,MLX 是以合理延迟运行真实模型最简单的方式。推荐 Qwen3-4B-Instruct-2507,它在 M 系列芯片上几乎即时响应,且足以进行流畅对话。

speech-to-speech \
  --llm_backend mlx-lm \
  --model_name "mlx-community/Qwen3-4B-Instruct-2507-bf16"

默认情况下,服务器监听 ws://127.0.0.1:8765/v1/realtime。保持运行,将对话应用连接到本地后端,即可与机器人交谈。

选项 2:在 Transformers 上运行本地 LLM(CUDA / CPU / MPS)

与上面思路相同,但使用标准 transformers。适用于 CUDA 机器、Linux,或希望自由切换模型而无需为 MLX 重新转换权重的场景。

speech-to-speech \
  --llm_backend transformers \
  --model_name "Qwen/Qwen3-4B-Instruct-2507"

提示:Qwen3-4B-Instruct-2507 在单消费级 GPU 上速度与质量平衡很好。可以将 --model_name 指向任何后端支持的模型,例如更大的 Gemma、Qwen 或 Mistral。

在笔记本上运行引擎,在机器人上运行应用

如果语音引擎运行在笔记本电脑上,而对话应用运行在 Reachy Mini Wireless 上,唯一需要改动的是 URL。确保引擎绑定到局域网地址(而非仅限 127.0.0.1),并在机器人 UI 中选择 IP 时使用笔记本电脑的 IP。

查看 IP 的方法:

macOS

ipconfig getifaddr en0    # wifi
ipconfig getifaddr en1    # 以太网(有时是 en0,因情况而定)

Linux

hostname -I

Windows

ipconfig

找到活动适配器下“IPv4 地址”一项。

需要的是 192.168.x.x 或 10.x.x.x 类型的地址。如果看到 169.254.x.x,说明并未真正连接到网络。


总结

现在,你拥有了一个完全本地的语音循环:

  • 机器人使用 Silero 聆听,
  • 使用 Parakeet-TDT 0.6B v3 转写,
  • 使用你选择的 LLM 思考(本地 MLX、本地 Transformers、旁边的 vLLM 或 llama.cpp 服务器,或托管的 Responses API 端点),
  • 使用 Qwen3-TTS 回答。

原文链接:Hugging Face
本文由前途科技编辑整理

标签:本地部署Hugging Face

想了解 AI 如何助力您的企业?

免费获取企业 AI 成熟度诊断报告,发现转型机会

//

24小时热榜

OpenAI基金会投入2.5亿美元应对AI就业冲击
TOP1

OpenAI基金会投入2.5亿美元应对AI就业冲击

FAA 叫停 SpaceX 星舰飞行
TOP2

FAA 叫停 SpaceX 星舰飞行

3

比亚迪押注人形机器人成新核心业务

6小时前
比亚迪押注人形机器人成新核心业务
4

Codex驱动自改进税务AI

15小时前
Codex驱动自改进税务AI
5

亚马逊任命 Amwell 联合创始人执掌医疗业务

7小时前
亚马逊任命 Amwell 联合创始人执掌医疗业务
6

谷歌工程师涉内幕交易被控

7小时前
谷歌工程师涉内幕交易被控
7

Cognition AI再融10亿美元,估值飙至260亿

6小时前
Cognition AI再融10亿美元,估值飙至260亿
8

戴尔赢得五角大楼97亿美元软件合同

7小时前
戴尔赢得五角大楼97亿美元软件合同
热门标签
大模型AgentRAG微调私有化部署Prompt EngineeringChatGPTClaudeDeepSeek智能客服知识管理内容生成代码辅助数据分析金融零售制造医疗教育AI 战略数字化转型ROI 分析OpenAIAnthropicGoogle

关注公众号

前途科技微信公众号

扫码关注,获取最新 AI 资讯

免费获取 AI 落地指南

3 步完成企业诊断,获取专属转型建议

已有 200+ 企业完成诊断

前途科技前途科技
服务关于快讯技术商业报告
前途科技微信公众号

微信公众号

扫码关注

Copyright © 2026 AccessPath.com, 前途国际科技咨询(北京)有限公司,版权所有。|京ICP备17045010号-1|京公网安备 11010502033860号|隐私政策|服务条款