Axel Godefroy
project-banner
main-thumbnail-project

Roleplay IA - Reality Academy

2025 - 2026
Technologies
language-icon
PHP
language-icon
Python

Roleplay IA

  • Rôle : Tech Lead Web @ Reality Academy
  • Période : 2024 – 2025
  • Produit : https://www.reality-academy.fr/roleplay-ia
  • Stack : PythonFastAPILangChainWebSocketsSSEDockerSTT / TTS StreamingRAG Multi-AgentsClean ArchitectureLLMOps / RAGAS

Vue d'ensemble du projet

L'objectif de ce projet est l'industrialisation d'une plateforme SaaS de mises en situation virtuelles propulsées par l'IA générative. La solution permet d'immerger des apprenants dans des scénarios vocaux interactifs pour développer leurs compétences relationnelles et de négociation (vente, management, gestion de conflit).

Sur le plan de l'ingénierie, le défi résidait dans le fait de concilier une interaction vocale fluide et ultra-réactive avec un système d'analyse capable de délivrer un débriefing pédagogique instantané et pertinent à la fin de chaque session.


Conception du moteur temps réel & streaming audio

Pour offrir une expérience de conversation naturelle, la gestion de la latence a été l'enjeu central de la conception. Un échange vocal ne tolère pas les délais de réponse classiques d'une API synchrone.

Architecture de la chaîne de traitement

J'ai architecturé une chaîne de traitement asynchrone fonctionnant en flux tendu : le signal vocal transmis par l'utilisateur est transcrit à la volée (Speech-to-Text), envoyé en streaming à l'agent conversationnel (LLM), puis découpé phrase par phrase pour alimenter le moteur de synthèse vocale (Text-to-Speech). L'audio est restitué au client via un canal WebSocket dès le premier bloc de parole disponible, réduisant au strict minimum le Time-To-First-Token (TTFT).

Signalisation et résilience réseau

L'expérience utilisateur est renforcée par l'intégration d'un composant de Voice Activity Detection (VAD), qui permet de gérer proprement les interruptions de parole sans casser l'état de la session. Parallèlement, un canal Server-Sent Events (SSE) est utilisé pour pousser en direct les événements système, tels que les éléments d'évaluation ou les indices de coaching pendant la simulation.

L'ensemble du moteur repose sur une Clean Architecture sous FastAPI, conteneurisée avec Docker et opérée sur un cluster à haute disponibilité (3 réplicas) pour garantir la stabilité sous charge.


Pipeline d'analytics & scoring comportemental

Au-delà de la simulation vocale, la valeur ajoutée du système repose sur sa capacité à débriefer l'apprenant de manière factuelle. J'ai conçu un moteur d'évaluation hybride qui intervient immédiatement à la clôture de la session.

Évaluation métier et analyse NLP

Le système combine deux niveaux d'analyse :

  • Un RAG multi-agents qui compare la transcription globale aux référentiels pédagogiques du scénario afin de vérifier le respect des consignes métiers (hard skills).
  • Un pipeline NLP dédié qui extrait automatiquement 19 sous-métriques comportementales (soft skills). Ces indicateurs analysent le rythme d'élocution, la gestion des objections, la structuration du discours ainsi que les marqueurs d'empathie ou de confiance.

Restitution et observabilité LLMOps

À l'issue de cette analyse, le système génère instantanément une fiche de restitution synthétique accompagnée de recommandations ciblées (coaching tips).

Pour maintenir la qualité de ce pipeline au fil des évolutions, j'ai mis en place un cadre d'observabilité LLMOps reposant sur des benchmarks multi-modèles et un protocole d'évaluation continue (LLM-as-a-judge via RAGAS), garantissant ainsi la stabilité des scores entre les versions.


⚡ Performances & Latences (Data Grafana)

Pour garantir une expérience d'immersion naturelle, l'architecture a été optimisée autour du Time-To-First-Token (TTFT) sur la route conversationnelle, tout en déportant les calculs lourds d'évaluation sur des pipelines asynchrones.

Latences du moteur temps réel (In-Session)

  • Route conversationnelle :

    • Médiane (P50) : 1,00 s
    • Percentile 95 (P95) : 2,00 s
  • Premier token LLM (Interlocuteur streaming) :

    • P50 : 841 ms | P90 : 1,26 s
  • Synthèse vocale (TTS - 1er chunk audio) :

    • P50 : 1,25 s | P90 : 1,91 s + le temps du premier token LLM

Traitement analytique & Débriefing (Post-Session)

  • Évaluation des métriques comportementales (NLP) : P50 à 3,08 s
  • Évaluation globale: P50 entre 11,5 s

Impact & chiffres clés

  • Production : Plus de 100 scénarios de roleplays industrialisés et déployés sur la plateforme.
  • Infrastructure : Architecture microservices résiliente sous FastAPI et Docker.
  • Analytics : 19 sous-indicateurs comportementaux mesurés automatiquement par session.
banner-next-project
Projet Suivant