허깅페이스, Reachy Mini용 완전 로컬 음성 대화 스택 공개해 클라우드 의존 제거
허깅페이스가 자사 로보틱스 키트 Reachy Mini에서 클라우드와 API 키 없이 음성 대화 전체 파이프라인을 로컬로 돌리는 가이드를 공개했다. 사내 라이브러리 speech-to-speech를 사용하면 오디오가 네트워크 외부로 나가지 않고 사용자가 직접 제어하는 하드웨어 안에서 VAD부터 TTS까지 모든 단계가 처리된다.
speech-to-speech는 VAD → STT → LLM → TTS 네 단계를 캐스케이드 방식으로 연결하고, OpenAI Realtime API와 호환되는 WebSocket을 /v1/realtime 경로에 노출한다. 사용자가 백엔드를 띄운 뒤 데스크톱 앱과 대화 앱 UI에서 로컬 모드로 백엔드를 가리키도록 설정하면 로봇이 곧바로 해당 엔진과 통신한다.
LLM을 제외한 세 단계의 기본값은 허깅페이스가 강하게 추천한다. VAD는 CPU에서도 동작하는 Silero VAD v5, STT는 영어 품질이 뛰어나고 스트리밍에 친화적인 Parakeet-TDT, TTS는 표현력과 다국어 지원이 좋은 Qwen3-TTS를 골랐다. 캐스케이드 구조의 장점은 새 모델이 매주 등장해도 단계별로 자유롭게 교체할 수 있다는 점이다.
빠른 시작은 llama.cpp로 Gemma 4를 서빙하는 방식이다. brew install llama.cpp이나 winget install llama.cpp으로 설치한 뒤 llama-server -hf ggml-org/gemma-4-E4B-it-GGUF -np 2 -c 65536 -fa on --swa-full 명령으로 띄우면 된다. 옵션은 병렬 슬롯 2개, 64k 컨텍스트, 플래시 어텐션 활성화, 슬라이딩 윈도우 어텐션 캐시 전체 보존을 의미한다.
다른 터미널에서는 uv pip install speech-to-speech로 라이브러리를 설치하고, speech-to-speech --responses_api_base_url "http://127.0.0.1:8080" --responses_api_api_key "" --mode local을 실행하면 첫 실행 시 Parakeet과 Qwen3-TTS가 자동으로 내려받아진다. 로컬 모드에서 동작이 확인되면 --mode local 옵션을 빼고 다시 띄워 로봇에 서비스를 제공한다.
LLM 추론은 시스템의 가장 큰 병목이라 별도 프로세스로 분리할 수 있다. 캐스케이드는 Responses API 프로토콜을 사용하는 외부 추론 엔진을 그대로 받아들이며, llama.cpp, vLLM, MLX, Transformers, OpenAI, Gemini, 허깅페이스 Inference Endpoints, Inference Providers 등이 지원된다. vLLM은 0.21.0 이상이 필요하고, 이전 버전은 부팅은 되지만 어시스턴트가 툴 호출을 시도하는 순간 실패한다.
vLLM 구성에서는 세 가지 옵션이 사실상 필수다. --enable-auto-tool-choice로 자동 툴 선택을 켜고, --tool-call-parser에는 모델 계열별 파서(Qwen3 인스트럭트는 qwen3_coder, Llama 3는 llama3_json, Hermes 계열은 hermes)를 지정하며, --default-chat-template-kwargs '{"enable_thinking":false}'로 thinking 채널을 끈다. 대화에서는 추론 토큰 한 글자마다 사용자가 듣는 침묵이 되므로 자연스러운 응답을 원하면 thinking을 꺼두는 것이 권장된다.
지연을 더 줄이려면 --speculative-config '{"method":"qwen3_next_mtp","num_speculative_tokens":1}' 옵션으로 Multi-Token Prediction을 켜는 것이 권장된다. 옵션이지만 종단 지연에 큰 영향을 주며, 모델이 지원하는 한 항상 켜두라는 것이 허깅페이스 측 설명이다.
완전 로컬 구성을 선택하는 이유는 세 가지다. 첫째, 오디오가 사용자가 통제하는 하드웨어 밖으로 빠져나가지 않는 프라이버시. 둘째, 분당 또는 토큰당 과금이 없는 비용 절감. 셋째, VAD·STT·LLM·TTS 각 단계를 허깅페이스 허브에 더 나은 모델이 등장할 때마다 교체할 수 있는 완전한 제어권이다.