Le contexte
Notre client opère une plateforme de communication vocale B2B avec plusieurs milliers d'appels simultanés. L'enjeu : extraire de la valeur en temps réel depuis ces flux audio — transcription, détection d'intention, scoring qualité — sans impacter la latence perçue par les utilisateurs finaux.
Le pipeline existant reposait sur un traitement par batch, avec des délais de plusieurs minutes. Le besoin était clair : passer à une architecture streaming capable de produire des inférences en moins de 200 ms, même en charge.
Les défis
Latence end-to-end contrainte
Les modèles de transcription (Whisper-large) sont coûteux. Exécuter l'inférence en temps réel sur des chunks de 500 ms nécessitait une orchestration fine du batching GPU et de la gestion des buffers audio.
Scalabilité horizontale
Le volume d'appels varie de 1x à 15x selon les plages horaires. L'architecture devait auto-scaler sans état partagé entre les workers, tout en garantissant la cohérence des transcriptions par session.
Tolérance aux pannes
Un crash worker en cours de session ne devait pas provoquer de perte de données. Chaque segment audio était persisté dans S3 avant traitement, avec un mécanisme de reprise automatique.
Les résultats
< 200ms
Latence end-to-end
15×
Pic de charge absorbé
99.9%
Uptime en production
Le système est en production depuis 8 mois. La transcription temps réel a permis au client de lancer un module de coaching commercial automatisé, directement alimenté par les insights extraits pendant les appels.
Un projet similaire en tête ?
Parlons-en