Direkt zum Inhalt

KUBI – der sprechende Roboter-Barista

KUBI ist ein sprechender Barista, der mit der Konversations-KI von ElevenLabs arbeitet. So funktioniert es.

A robotic arm holding a can of Red Bull energy drink against a blue background.

KUBI ist ein sprechender Roboter-Barista und Empfangsroboter bei Second Space, einem modernen 24/7 Co-Working-Space in Kaohsiung, Taiwan. Da der Betrieb vollständig automatisiert ist, ist es besonders wichtig, dass KUBI als erste Kontaktstelle für Mitglieder eine persönliche Note einbringt. Deshalb setzt Second Space auf die Konversations-KI von ElevenLabs, um unterhaltsame und einprägsame Interaktionen zu ermöglichen. Sehen wir uns KUBI in Aktion an.

So funktioniert KUBI

KUBI nutzt eine ausgefeilte multisensorische Architektur, um menschliche Interaktion zu simulieren. Das System basiert auf einer Microservices-Architektur, in der spezialisierte Dienste parallel laufen und über einen Echtzeit-Event-Stream kommunizieren. Diese Dienste übernehmen Aufgaben wie Gesichts- und Objekterkennung per Echtzeit-KI, Tassen- und Fremdkörpererkennung per Kamera, Belegdruck, sichere Gesichtserkennung für Zugangskontrolle sowie die präzise Steuerung von Milch- und Bohnenausgabe.

Diese Dienste laufen parallel:

  • Umgebung Kamera-Service: Nutzt Echtzeit-KI (PyTorch in Python) zur Erkennung von Gesichtern und Objekten.
  • Tablet Kamera-Service: Ähnlich, erkennt aber Tassen auf dem Tisch, Fremdkörper und prüft, ob der KUBI-Roboter tatsächlich eine Tasse hält.
  • Belegdruck-Service: Einfach und zuverlässig mit Node + Typescript. Kommuniziert mit einem RS232-Thermodrucker.
  • Zahlungsdienst: Entwickelt mit Kotlin JVM für hohe Parallelität und Typsicherheit. Übernimmt die Meldung von Belegen an Behörden und die Kommunikation mit Kreditkartenterminal, Krypto-Zahlungsgateway oder Online-Zahlungsanbietern.
  • Milch- & Bohnenausgabe: Separate Präzisionsdienste — Arduino. Zeitkritisch, geringe Latenz.
  • Gesichtserkennung: Sicherer und strikt typisierter Kotlin-Service für Zugangskontrolle.
  • Wasserstrahl-Service: Reinigt Milchkännchen automatisch nach Gebrauch — Arduino.
  • Und weitere Dienste, z. B. für Mobile-App-API, Menüanzeige usw.

Warum so viele Microservices? Ganz einfach: Wir verwalten sie unabhängig, skalieren flexibel und nutzen für jede Aufgabe das beste Tool.

Ein zentrales, ereignisgesteuertes System als Bindeglied

Die Koordination aller Microservices übernimmt ein zentraler Dienst, scherzhaft "BigBoy" genannt. Im Kern ist es ein großer, nicht-blockierender Event-Prozessor:

So arbeitet BigBoy:

  1. Empfängt eingehende Events aller Dienste.
  2. Prüft Szenarien auf passende Auslöser.
  3. Wählt das beste Szenario aus.
  4. Plant Aktionen zur Ausführung ein.
1
2internal object WeatherIdleScenario: SingleTaskScenario(scenario){
3
4 importance = Importance.Medium
5 compilationTimeout = Time.ThreeSeconds
6 interruptable = false
7 exeutionExpiration = = Time.TenSeconds
8
9 override fun isEligible(event: Event, environment: Environment): Maybe<Boolean> = withEnvironment(environment) {
10 just {
11 (event is IdleEvent
12 && !triggeredInLast(40.minutes)
13 && (personPresent() || hasActiveSessions)
14 && environment.weatherService.lastReportWithin(10.minutes))
15 }
16 }
17}
18
19private val scenario = ScenarioRecipe { event, env, session ->
20
21
22 invokeOneOf(
23
24 phrase {
25 sayWith {
26 "Rainy day today, isn't it? That's why I have my little umbrella! Look!".asEnglish
27 }.withAutoGift().withAutoMotion()
28 }.given { Weather.isRaining() },
29
30 phrase {
31 sayWith {
32 "Friend, it's so cold outside! So sad for you... because you're a human. I don't really mind!".asEnglish
33 }.withAutoMotion()
34
35 sayWith {
36 "Wait, that soudned a bit rude.".asEnglish
37 }.withAutoMotion()
38
39 }.given { Weather.isCold() },
40
41 )
42
43
44}
45
46

Was sind Szenarien?

Szenarien sind wie nicht-blockierende Compiler für Roboter-Aktions-Events. Ein Aktions-Event ist meist das letzte Glied in einer Kette und führt zu einer physischen Aktion, etwa Bewegung oder Sprache. Ein Begrüßungsszenario könnte zum Beispiel Folgendes auslösen:

SayEvent("Hello! Welcome!", wave.gif)
MotionEvent(HelloMotion)

Event-Generierung mit LLM: Manche Aktions-Events werden automatisch von einem LLM erzeugt, zum Beispiel withAutoMotion wählt anhand des Kontexts die passende Bewegung aus einer vordefinierten Liste. Während withAutoGif ein LLM nutzt, um das passende Tag für eine Phrase zu generieren. Das Tag wird verwendet, um ein GIF bei Giphy abzurufen, das dann zusammen mit der Phrase auf KUBIs Gesicht angezeigt wird.

Synchronisierung von Aktions-Events: Diese Events laufen durch einen Scheduler, der sicherstellt, dass Sprache, Mimik und Bewegungen synchron bleiben. So passt KUBIs Sprache immer zu seinen Gesten.

Flexibel und erweiterbar

Das Besondere: Szenarien können auch auf Aktions-Events reagieren und neue Aktions-Events dynamisch auslösen. Zum Beispiel:

  • Wenn BigBoy SayEvent("Frohe Weihnachten") erkennt, kann automatisch festliche Beleuchtung und Spezialeffekte im Raum aktiviert werden.
  • Ein weiteres Beispiel: Wenn ein Nutzer über die Mobile App bestellt, werden alle Interaktionen (Produkt anklicken, bezahlen usw.) in Events umgewandelt und BigBoy kann in Echtzeit reagieren. Scrollt der Nutzer z. B. an „Hafermilch-Latte“ vorbei, könnte KUBI sagen: „Sind Sie sicher, dass Sie keinen Hafermilch-Latte möchten? Der ist wirklich gut.“

BigBoy hat den kompletten Überblick über alles, was passiert.

DevOps und Überwachung

Die meisten Dienste laufen lokal in Docker-Containern. Innerhalb des Containers steuert Supervisor den Lebenszyklus. Fehlerprotokolle werden in Sentry gesammelt und in eine eigene Admin-App eingespeist, um Ausnahmen, Echtzeitstatus der Dienste und Sensoren sowie Latenzberichte zu überwachen. Interessant: Die Flutter-App wurde zu 90 % von KI generiert.

Mit ElevenLabs für einprägsame Interaktionen

Second Space hatte eine klare Persönlichkeit für KUBI im Kopf – eine Mischung aus Deadpool, Wheatley (Portal) und etwas Pathfinder (Apex Legends). Sie haben es geschafft, die Stimme zu gestalten – in nur 15 Minuten, inklusive Emotionen und Pausen, die die Stimme noch menschlicher machen.

ElevenLabs liefert KUBIs Sprachfähigkeiten über zwei zentrale APIs:

Text zu Sprache (TTS)

  • Übernimmt ca. 90 % der Interaktionen.
  • Verwendet vordefinierte Szenarien für die passende Stimmung.
  • Von LLMs generierte Nachrichten können personalisiert werden, mit hochwertigem Audio und bester Aussprache, nicht zeitkritisch.
  • Bietet natürlich klingende, mehrsprachige Sprache in Englisch, Chinesisch, Spanisch, Japanisch und sogar Lettisch.

Konversationsmodus (Echtzeit)

Wird aktiviert, wenn ein Kunde sagt: "Hey KUBI!". Die Konversations-KI von ElevenLabs antwortet in 200 ms, wodurch die Interaktion sehr natürlich wirkt.

  • Priorität: Geringe Latenz.
  • Etwas geringere Audioqualität zugunsten der Reaktionsgeschwindigkeit.
  • Nutzt das neue Echtzeit-language_detection-Tool von ElevenLabs und erkennt verschiedene Sprachen sofort.
  • Die Konversations-KI-Session startet auf Abruf, wenn ein Mitglied die Einrichtung betritt oder „Hey, KUBI!“ sagt.

Eigene Konversations-Tools

Über die WebSocket-Verbindung zur Konversations-KI von ElevenLabs kann KUBI Funktionen aufrufen, zum Beispiel:

  • make_order: Erkennt Bestellungen und sendet Events direkt an BigBoy.
  • make_payment: Informiert sofort den PaymentService, um das Kreditkartenterminal zu aktivieren.

Das einfache Umschalten zwischen verschiedenen LLM-Modellen im ElevenLabs-Admin-Panel hilft Second Space, Verständnis und Genauigkeit zu optimieren, da verschiedene Modelle die Tool-Intents unterschiedlich gut erkennen. Aktuell nutzen sie Gemini 2.0 Flash als Kernmodell für Konversations-KI und ChatGPT 4o für statische Sprachgenerierung.

KUBI für weitere Märkte

Die ersten GitHub-Commits von Second Space zu ElevenLabs stammen aus Januar 2023 – noch vor Veröffentlichung des mehrsprachigen Modells. Schon früh erkannten sie den Qualitätsanspruch von ElevenLabs und bauten eine Architektur, die zukünftige Mehrsprachigkeit berücksichtigt. Jetzt ist der Markteintritt in Länder wie Japan oder Südkorea nur noch eine Sache des Umschaltens – ohne zusätzlichen Entwicklungsaufwand.

Fazit

Microservices, Echtzeit-Events und die leistungsstarke Sprachtechnologie von ElevenLabs machen KUBI lebendig – bereit, die Welt mit Kaffee und cleveren Interaktionen zu begeistern.

Entdecken Sie Artikel des ElevenLabs-Teams

ElevenLabs

AI-Audioinhalte in höchster Qualität generieren

Kostenlos registrieren

Haben Sie bereits ein Konto? Anmelden