Découvrez KUBI, le robot barista conversationnel
- Rédigé par
- Thor Schaeff
- Publié
- Dernière mise à jour
ÉcouterÉcouter cet article
KUBI est un robot barista conversationnel et réceptionniste chez Second Space, un espace de coworking de nouvelle génération ouvert 24 h/24 et 7 j/7 à Kaohsiung, à Taïwan. Son fonctionnement étant entièrement automatisé, KUBI doit apporter une touche chaleureuse et unique dès le premier contact avec les membres. C’est pourquoi Second Space a choisi l’IA conversationnelle d’ElevenLabs pour créer des interactions divertissantes et mémorables avec ses membres. Voyons KUBI en action.
Comment fonctionne KUBI
KUBI s’appuie sur une architecture multisensorielle sophistiquée qui simule des interactions proches de celles d’un humain. Le système repose sur une architecture de microservices, où des services spécialisés fonctionnent simultanément et communiquent via un flux d’événements en temps réel. Ces services gèrent diverses tâches : reconnaissance faciale et d’objets par inférence IA en temps réel, détection des gobelets et contrôles de cohérence par caméra, impression de reçus, reconnaissance faciale sécurisée pour le contrôle des accès, ainsi que contrôle précis des distributeurs de lait et de grains.
Voici quelques-uns des services exécutés simultanément :
- Environnement Service de caméra : utilise l’inférence IA en temps réel (PyTorch en Python) pour détecter les visages et les objets.
- Tablette Service de caméra : très similaire, mais détecte les gobelets sur la table et les objets étrangers, et effectue des vérifications de cohérence, par exemple pour confirmer que le robot KUBI tient bien un gobelet.
- Service d’impression de reçus: simple et fiable avec Node + Typescript. Communique avec une imprimante thermique RS232.
- Service de paiement: conçu avec Kotlin JVM pour assurer des requêtes simultanées robustes et la sûreté des types. Gère la déclaration des reçus auprès des autorités et les communications avec un terminal de carte bancaire, une passerelle de paiement en cryptomonnaies ou des prestataires de paiement en ligne.
- Distributeurs de lait et de grains: services de précision distincts, Arduino. Sensibles au temps, à faible latence.
- Reconnaissance faciale: service Kotlin sécurisé et fortement typé, utilisé pour le contrôle des accès.
- Service de jet d’eau: nettoie automatiquement les pichets de lait après utilisation, Arduino.
- Et de nombreux autres services, par exemple pour l’API de l’Application mobile, l’affichage des menus, etc.
Pourquoi tous ces microservices ? C’est simple : nous les gérons indépendamment, les faisons évoluer facilement et utilisons les meilleurs outils pour chaque tâche.
Un cœur central piloté par les événements pour tout relier
Un service central, baptisé avec humour « BigBoy », coordonne tous ces microservices. Il s’agit essentiellement d’un vaste processeur d’événements non bloquant :
Voici comment fonctionne BigBoy :
- Écoute les événements entrants de tous les services.
- Vérifie les scénarios pour identifier les déclencheurs éligibles.
- Sélectionne le meilleur scénario.
- Planifie les actions à exécuter.
Que sont les scénarios ?
Considérez les scénarios comme des compilateurs non bloquants pour les événements d’action du robot. Un événement d’action est généralement l’événement le plus en aval, c’est-à-dire la dernière étape d’une chaîne qui produit un effet physique, tel qu’un mouvement ou une parole. Par exemple, un scénario de bienvenue peut déclencher :
MotionEvent(HelloMotion)
Génération d’événements avec un LLM : Certains événements d’action sont générés automatiquement par un LLM. Par exemple, withAutoMotion sélectionne le meilleur mouvement dans une liste prédéfinie selon le contexte donné. Quant à withAutoGif, il utilise un LLM pour générer le tag le plus adapté à la phrase. Ce tag permet de récupérer un GIF sur Giphy, qui sera ensuite affiché sur le visage de KUBI avec la phrase.
Synchronisation des événements d’action : Ces événements passent ensuite par un planificateur qui synchronise la parole, les expressions faciales et les mouvements. KUBI fait ainsi parfaitement correspondre ses gestes à ses paroles.
Flexible et extensible
Les scénarios peuvent même écouter des événements d’action et déclencher dynamiquement de nouveaux événements d’action. Par exemple :
- Si BigBoy détecte SayEvent("Merry Christmas"), il peut déclencher automatiquement des lumières festives et des effets spéciaux dans la pièce.
- Autre exemple : si l’utilisateur choisit notre Application mobile pour passer une commande, toutes ses interactions, comme cliquer sur un produit ou effectuer un paiement, sont converties en événements, auxquels BigBoy peut également réagir en temps réel. Par exemple, si l’utilisateur fait défiler la page au-delà du « Oatmilk Latte », KUBI pourrait dire : « Vous êtes sûr de ne pas vouloir ce Oatmilk Latte ? Il est vraiment bon. »
BigBoy voit et sait littéralement tout ce qui se passe. Plutôt impressionnant, non ?
DevOps et observabilité
La plupart des services sont hébergés localement et intégrés dans un conteneur Docker. Dans ce conteneur, leur cycle de vie est géré par le système de contrôle de processus Supervisor. Les journaux d’erreurs sont collectés dans Sentry et transmis à une application d’administration personnalisée pour suivre les exceptions, l’état en temps réel des services et des capteurs, ainsi que les rapports de latence. L’application Flutter a été générée à 90 % par l’IA.
Utiliser ElevenLabs pour créer des interactions mémorables
Second Space avait une personnalité très précise en tête pour KUBI : un mélange de Deadpool, de Wheatley du jeu Portal et d’une touche de Pathfinder d’Apex Legends. L’équipe a réussi à concevoir la voix en 15 minutes, avec des émotions et des pauses qui la rendent encore plus humaine.
ElevenLabs alimente les capacités vocales de KUBI grâce à deux API principales :
Text to Speech (TTS)
- Gère environ 90 % de nos interactions.
- Utilise des scénarios prédéfinis pour créer l’ambiance idéale.
- Les messages générés par les LLM peuvent être personnalisés, avec un audio de haute qualité et une prononciation optimale, sans contrainte de temps.
- Propose une synthèse vocale multilingue incroyablement naturelle en anglais, chinois, espagnol, japonais et même letton. Un Deadpool letton, ça vous tente ?
Mode conversationnel (temps réel)
Activée lorsqu’un client dit « Hey KUBI ! », l’IA conversationnelle d’ElevenLabs peut répondre en 200 ms, pour une interaction véritablement naturelle.
- Priorité : faible latence.
- Privilégie la réactivité au détriment d’une partie de la qualité audio.
- Utilise le nouvel outil language_detection d’ElevenLabs en temps réel pour gérer instantanément différentes langues de manière dynamique.
- La session d’IA conversationnelle démarre à la demande lorsqu’un membre entre dans l’établissement ou dit « Hey, KUBI ! »
Outils conversationnels personnalisés
Grâce à l’IA conversationnelle d’ElevenLabs via une connexion WebSocket, KUBI peut tirer parti de l’appel de fonctions, par exemple :
- make_order: reconnaît les commandes et envoie les événements directement à BigBoy.
- make_payment: avertit immédiatement notre PaymentService afin d’activer le terminal de carte bancaire pour les paiements.
La possibilité de basculer facilement entre différents modèles LLM depuis le panneau d’administration d’ElevenLabs aide Second Space à optimiser la compréhension et la précision. Nous avons constaté que certains modèles reconnaissent mieux que d’autres les intentions des outils. L’équipe utilise actuellement Gemini 2.0 Flash comme modèle central pour l’IA conversationnelle et ChatGPT 4o pour les générations de paroles statiques.
Étendre KUBI à de nouveaux marchés
Les premiers commits GitHub de Second Space faisant référence à ElevenLabs remontent à janvier 2023, avant même la sortie du modèle multilingue. L’équipe a très tôt reconnu l’engagement d’ElevenLabs envers la qualité et a conçu avec confiance une architecture anticipant la future prise en charge multilingue. Aujourd’hui, entrer sur des marchés comme le Japon et la Corée du Sud est aussi simple que d’actionner un interrupteur, sans travail de développement supplémentaire.
Conclusion
Les microservices, les événements en temps réel et la puissante technologie vocale d’ElevenLabs rendent KUBI véritablement vivant, prêt à conquérir et ravir le monde, un café et une interaction pleine d’esprit à la fois.




