feat: add streaming STT service with Whisper backend

- stt_streaming.py: HTTP-based STT using external Whisper service
- stt_streaming_local.py: ROCm-based local Whisper inference
- Voice Activity Detection (VAD) with WebRTC
- Interrupt detection for barge-in support
- Session state management (listening/responding)
- OpenTelemetry instrumentation with HyperDX support
- Dockerfile variants for HTTP and ROCm deployments
This commit is contained in:
2026-02-02 06:23:12 -05:00
parent 680e43fe39
commit 8fc5eb1193
9 changed files with 1473 additions and 1 deletions

24
requirements-rocm.txt Normal file
View File

@@ -0,0 +1,24 @@
# Core dependencies
nats-py>=2.0.0,<3.0.0
msgpack
# Whisper for local STT inference (uses PyTorch already in base image)
openai-whisper>=20231117
# Audio processing
soundfile
numpy
# OpenTelemetry core
opentelemetry-api
opentelemetry-sdk
opentelemetry-exporter-otlp-proto-grpc
opentelemetry-exporter-otlp-proto-http
opentelemetry-instrumentation-logging
# HyperDX support (uses OTLP protocol)
# HyperDX is compatible with standard OTEL exporters, just needs API key header
opentelemetry-sdk-extension-aws # For additional context propagation
# HTTP health server for kserve compatibility
aiohttp