Hugging Face 官方的开源语音 Agent 管线,每个组件都可换
更新于 2026-07-29
← 返回汇总四个线程串起来的语音对话管线,开放标准接口
低延迟、全模块化的语音 Agent 管线:VAD → STT → LLM → TTS 四阶段,通过 OpenAI Realtime 兼容的 WebSocket API 暴露。每个组件都可替换,LLM 槽位说 OpenAI 协议——指向托管商、HF Inference Providers,或本机 vLLM/llama.cpp 做全本地栈。生产环境为数千台 Reachy Mini 机器人的对话后端。
Hugging Face 官方维护 · 默认 Parakeet TDT + Qwen3-TTS 全本地栈
语音对话涉及端点检测、转录、推理、合成四个性质不同的任务。塞进一个模型,任一环节升级都要重训整体,且难以对接现有 LLM 生态。
每个阶段独立运行、独立替换。STT 出了更好的模型换 STT,LLM 想换本地推理换 base_url,互不干扰。代码专为 HF Hub 上的模型设计,改动门槛低。
每个组件跑在独立线程,用队列连接,实现流水线并行与低延迟。
通过 --stt / --llm_backend / --tts 选择,pip extras 按需安装。
| 阶段 | 后端 | 平台 |
|---|---|---|
| VAD | Silero VAD v5 | 全平台(内置) |
| STT | Parakeet TDT(默认)/ Whisper / Faster Whisper / Lightning Whisper MLX / Paraformer | CUDA / CPU / Apple Silicon |
| LLM | OpenAI 兼容 API(Responses/Chat)/ Transformers / mlx-lm | 托管商或自建 vLLM/llama.cpp |
| TTS | Qwen3-TTS(默认)/ Kokoro-82M / Pocket TTS / ChatTTS / MMS TTS | GGML/CUDA Linux,mlx-audio macOS |
WebSocket,OpenAI Realtime 协议 /v1/realtime。构建 App/设备对接标准语音 API 时用。
直接用本机麦克风和扬声器,无需客户端。
原始 PCM over WebSocket,构建极简自定义客户端。
原始 PCM over TCP,模型跑远程服务器、客户端只做录音播放。
# 安装(Python 3.10+) pip install speech-to-speech # 默认全本地栈:Parakeet STT + Qwen3-TTS export OPENAI_API_KEY=... speech-to-speech # 启动 OpenAI Realtime 兼容服务 ws://localhost:8765/v1/realtime # 第二终端连接对话 python scripts/listen_and_play_realtime.py --host 127.0.0.1 --port 8765
不想用托管 LLM?本机起 Gemma 4,管线指向它即可全栈本地化。
# 1. 本机服务 Gemma 4 llama-server -hf ggml-org/gemma-4-E4B-it-GGUF -np 2 -c 65536 -fa on --swa-full # 2. 管线 LLM 后端指向本机 speech-to-speech \ --model_name "ggml-org/gemma-4-E4B-it-GGUF" \ --responses_api_base_url "http://127.0.0.1:8080/v1" \ --responses_api_api_key ""
speech-to-speech --local_mac_optimal_settings
默认暴露 ws://localhost:8765/v1/realtime,任何 OpenAI Realtime 兼容客户端可直接接入。
gpt-5.4-mini via Responses API--local_mac_optimal_settings 开箱即用OPENAI_API_KEY,全本地需额外搭 llama.cppHugging Face 官方背书 + OpenAI Realtime 标准兼容,是开源语音 Agent 的参考实现。管线哲学让它能持续吸收 HF Hub 上的最新模型,随语音模型迭代水涨船高。