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
@@ -22,6 +22,8 @@ x-app-env: &app_env
KB_SERVICE_URL: http://kb-service:8000
REPORTING_SERVICE_URL: http://reporting-service:8000
SUPERVISOR_SERVICE_URL: http://supervisor-service:8000
AI_VOICE_V2_STREAMING_ASR_BASE_URL: http://streaming-asr-sidecar:8021
AI_VOICE_V2_STREAMING_ASR_TIMEOUT_SECONDS: "4"
x-service-defaults: &service_defaults
build:
@@ -123,8 +125,38 @@ services:
<<: *app_env
APP_MODULE: services.ai_orchestrator_service.app:app
streaming-asr-sidecar:
<<: *service_defaults
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_pg_parallel:/app/.data_pg_parallel
- ../.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
ai-voice-runtime-service:
<<: *service_defaults
depends_on:
- streaming-asr-sidecar
environment:
<<: *app_env
APP_MODULE: services.ai_voice_runtime_service.app:app