feat(voice): add streaming asr sidecar for v2 duplex

This commit is contained in:
Yera All
2026-04-12 01:38:30 +05:00
parent b75b76fae6
commit 9386b8f9b9
14 changed files with 1203 additions and 4 deletions
+34 -2
View File
@@ -36,7 +36,8 @@ x-app-env: &app_env
AI_VOICE_V2_ACK_MODE: immediate_short
AI_VOICE_V2_DUPLEX_ENABLED: "1"
AI_VOICE_V2_STREAMING_ASR_BACKEND: local_sidecar
AI_VOICE_V2_STREAMING_ASR_BASE_URL: http://127.0.0.1:8021
AI_VOICE_V2_STREAMING_ASR_BASE_URL: http://streaming-asr-sidecar:8021
AI_VOICE_V2_STREAMING_ASR_TIMEOUT_SECONDS: "4"
AI_VOICE_V2_PREBAKED_ACK_ENABLED: "1"
AI_VOICE_V2_PREBAKED_ACK_DIR: /app/.data/voice_v2_ack_bank
AI_VOICE_V2_STREAMING_TTS: "1"
@@ -193,9 +194,40 @@ services:
ports:
- "8017:8000"
ai-voice-runtime-service:
streaming-asr-sidecar:
build: ..
depends_on: [postgres, rabbitmq]
command: ["sh", "-c", "uvicorn ${APP_MODULE} --host 0.0.0.0 --port 8021"]
environment:
<<: *app_env
APP_MODULE: services.streaming_asr_sidecar_service.app:app
AI_VOICE_V2_STREAMING_ASR_MODEL: base
AI_VOICE_V2_STREAMING_ASR_COMPUTE_TYPE: int8
AI_VOICE_V2_STREAMING_ASR_DEVICE: cpu
AI_VOICE_V2_STREAMING_ASR_CACHE_DIR: /models/faster_whisper
AI_VOICE_V2_STREAMING_ASR_SUPPORTED_LANGUAGES: ru
volumes:
- ../.data:/app/.data
- ../.models/faster_whisper:/models/faster_whisper
healthcheck:
test:
- CMD
- python
- -c
- |
from urllib.request import urlopen
import sys
sys.exit(0 if urlopen("http://127.0.0.1:8021/health", timeout=2).getcode() == 200 else 1)
interval: 15s
timeout: 5s
retries: 10
start_period: 10s
ports:
- "8021:8021"
ai-voice-runtime-service:
build: ..
depends_on: [postgres, rabbitmq, streaming-asr-sidecar]
environment:
<<: *app_env
APP_MODULE: services.ai_voice_runtime_service.app:app