Architecture
Assurez-vous d'avoir consulté le glossaire afin d'avoir une meilleure compréhension de cette section.
#
Schéma d'architecture de haut niveau#
ScénarioCe scénario décrit les étapes du schéma ci-dessus. Merci de prendre conscience que la plupart des intéractions sont effectuées via WebSockets.
Client (app web, etc.) fait une requête HTTP pour récupérer quelques informations au sujet de Léon.
API HTTP retourne les informations au client.
Utilisateur parle avec son microphone.
- .
a. Si serveur hotword est lancé, Léon écoute (hors ligne) si utilisateur l'appel en prononçant
Léon
.b. Si Léon comprend que utilisateur l'appel, Léon émet un message au serveur principal via une WebSocket. Maintenant Léon écoute (hors ligne) utilisateur.
c. Utilisateur a dit
Bonjour !
à Léon, client transforme l'entrée audio en blob audio. ASR transforme blob audio en fichier wave.
Parseur STT transforme fichier wave en chaîne de caractères (
Bonjour
).- .
a. Utilisateur reçoit chaîne de caractères et chaîne de caractères est envoyée à NLU.
b. Ou alors, utilisateur écrit
Bonjour !
avec son clavier (et ignore les étapes 1. à 7.a.). Chaîne de caractèresBonjour
est envoyée à NLU. NLU classifie chaîne de caractères et sélectionne classification.
Si journal collaboratif est activé, classification est envoyée au journal collaboratif.
Cerveau crée un processus enfant et exécute le module choisi.
Si synchroniseur est activé et module contient cette option, le contenu se synchronise.
Cerveau crée une réponse et la transfère au synthétiseur TTS.
Synthétiseur TTS transforme réponse texte (et l'envoie à utilisateur en tant que texte) en buffeur audio qui est joué par client.