Lernen Sie KUBI, den Konversationsroboter-Barista, kennen

KUBI ist ein konversationeller Barista, der mit der Conversational KI von ElevenLabs arbeitet. So funktioniert es.

KUBI ist ein konversationeller Barista und Empfangsmitarbeiter bei Second Space, einem modernen 24/7-Co-Working-Space in Kaohsiung, Taiwan. Da der Arbeitsbereich vollständig automatisiert ist, ist es für KUBI sehr wichtig, als erster Kontaktpunkt mit den Mitgliedern eine einzigartige, freundliche Note hinzuzufügen. Deshalb hat sich Second Space für die

Wie KUBI funktioniert

KUBI nutzt eine ausgeklügelte multisensorische Architektur, um menschliche Interaktionen zu simulieren. Das System basiert auf einer Microservices-Architektur, bei der spezialisierte Dienste gleichzeitig arbeiten und über einen Echtzeit-Ereignisstrom kommunizieren. Diese Dienste verwalten verschiedene Aufgaben, einschließlich Gesichts- und Objekterkennung mit Echtzeit-KI-Inferenz, Tassen- und Sicherheitsüberprüfungen über Kameras, Belegdruck, sichere Gesichtserkennung für Zugangskontrolle und präzise Steuerung von Milch- und Bohnenautomaten.

Wie KUBI funktioniert

  • Umgebung Kamera-Dienst: Nutzt Echtzeit-KI-Inferenz (PyTorch in Python), um Gesichter und Objekte zu erkennen.
  • Tablet Kamera-Dienst: Sehr ähnlich, erkennt aber Tassen auf dem Tisch und Fremdkörper und überprüft die Sicherheit - zum Beispiel, ob der KUBI-Roboter tatsächlich eine Tasse hält.
  • Belegdruck-Dienst: Einfach und zuverlässig mit Node + Typescript. Kommuniziert mit einem RS232-Thermodrucker.
  • Zahlungsdienst: Entwickelt mit Kotlin JVM für solide Parallelität und Typensicherheit. Handhabt staatliche Belegmeldungen und die Kommunikation mit einem Kreditkartenterminal, Krypto-Zahlungsgateway oder Online-Zahlungsanbietern.
  • Milch- & Bohnenautomaten: Separate Präzisionsdienste — Arduino. Zeitkritisch, geringe Latenz.
  • Gesichtserkennung: Sicherer und stark typisierter Kotlin-Dienst, verwendet für Zugangskontrolle.
  • Wasserstrahl-Dienst: Reinigt automatisch Milchaufschäumkannen nach Gebrauch — Arduino.
  • Und verschiedene andere Dienste, z.B. für mobile App-API, Menüanzeige usw.

Dies sind einige der Dienste, die gleichzeitig laufen:

Ein zentrales ereignisgesteuertes Kernsystem, das alles verbindet

Warum all diese Microservices? Ganz einfach — wir verwalten sie unabhängig, skalieren leicht und nutzen die besten Werkzeuge für jede Aufgabe."BigBoy". Im Wesentlichen ist es ein riesiger, nicht blockierender Ereignisprozessor:

Ein zentrales ereignisgesteuertes Kernsystem, das alles zusammenführt

  1. Hört auf eingehende Ereignisse von allen Diensten.
  2. Prüft Szenarien auf geeignete Auslöser.
  3. Wählt das beste Szenario aus.
  4. Plant Aktionen zur Ausführung.
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?

Denken Sie an Szenarien als nicht blockierende Compiler für Roboter Aktionsereignisse. Ein Aktionsereignis ist normalerweise das am weitesten entfernte Ereignis, der letzte Schritt in einer Kette, der zu einem physischen Effekt führt, wie Bewegung oder Sprache. Ein Begrüßungsszenario könnte zum Beispiel auslösen:

SayEvent("Hallo! Willkommen!", wave.gif)
MotionEvent(HelloMotion)

Denken Sie an Szenarien als nicht blockierende Compiler für Roboter Aktionsereignisse

Synchronisation von Aktionsereignissen: Diese Ereignisse fließen dann durch einen Scheduler, der sicherstellt, dass Sprache, Gesichtsausdrücke und Bewegungen synchron bleiben. Die Synchronisation sorgt dafür, dass KUBIs Sprache perfekt zu seinen Gesten passt.

Ereignisgenerierung mit LLM:

Synchronisation von Aktionsereignissen: Diese Ereignisse durchlaufen dann einen Scheduler, der sicherstellt, dass Sprache, Gesichtsausdrücke und Bewegungen synchron bleiben. Die Synchronisation sorgt dafür, dass KUBIs Sprache perfekt zu seinen Gesten passt. hören und neue Aktionsereignisse dynamisch auslösen können. Zum Beispiel:

  • Wenn BigBoy
  • Ein weiteres cooles Beispiel ist - wenn der Nutzer unsere Mobile App verwendet, um eine Bestellung aufzugeben, werden alle Nutzerinteraktionen (Klicken auf ein Produkt, Zahlung usw.) in Ereignisse umgewandelt und BigBoy kann in Echtzeit reagieren. Wenn der Nutzer zum Beispiel an „Hafermilch-Latte“ vorbeiscrollt, könnte KUBI sagen: „Sind Sie sicher, dass Sie diesen Hafermilch-Latte nicht wollen? Er ist wirklich gut!“

Das Coole ist, dass Szenarien sogar auf

DevOps und Beobachtbarkeit

BigBoy sieht und weiß buchstäblich alles, was vor sich geht. Ziemlich cool, oder?

Die meisten Dienste werden lokal gehostet und sind in einem Docker-Container verpackt. Im Container wird ihr Lebenszyklus vom Supervisor-Prozesskontrollsystem verwaltet. Fehlerprotokolle werden in Sentry gesammelt und in eine benutzerdefinierte Admin-App eingespeist, um Ausnahmen, den Echtzeitstatus von Diensten und Sensoren sowie Latenzberichte zu überwachen. Das Coole ist, dass die Flutter-App zu 90% von KI generiert wurde.

Mit ElevenLabs unvergessliche Interaktionen schaffendie Stimme zu gestalten in 15 Minuten, komplett mit Emotionen und Pausen, die die Stimme noch menschlicher machen.

Second Space hatte eine sehr spezifische Persönlichkeit für KUBI im Sinn - eine Mischung aus Deadpool, Wheatley aus dem Portal-Spiel und ein bisschen Pathfinder aus Apex Legends. Sie schafften es,

ElevenLabs treibt KUBIs Sprachfähigkeiten durch zwei Kern-APIs an:

  • Handhabt ~90 % unserer Interaktionen.
  • Verwendet vordesignte Szenarien für die perfekte Stimmung.
  • Von LLMs generierte Nachrichten können personalisiert werden, mit hochwertigem Audio, bester Aussprache, nicht zeitkritisch.
  • Bietet unglaublich natürliche mehrsprachige Sprache in Englisch, Chinesisch, Spanisch, Japanisch und sogar Lettisch (Lettischer Deadpool, jemand?).

Aktiviert, wenn ein Kunde sagt,

Konversationsmodus (Echtzeit)"Hey KUBI!", kann die Conversational AI von ElevenLabs in 200ms antworten, was die Interaktion wirklich menschlich wirken lässt.

  • Priorität: Geringe Latenz.
  • Tauscht etwas Audioqualität gegen Reaktionsfähigkeit.
  • Verwendet das neue Echtzeit-language_detection-Tool von ElevenLabs, das dynamisch verschiedene Sprachen sofort verarbeitet.
  • Konversations-KI-Sitzung wird auf Abruf gestartet, wenn ein Mitglied die Einrichtung betritt oder „Hey, KUBI!“ sagt.

Mit der Conversational AI von ElevenLabs über eine WebSocket-Verbindung kann KUBI Funktionsaufrufe nutzen, zum Beispiel:

Benutzerdefinierte Konversationswerkzeuge

  • make_order: Erkennt Bestellungen, sendet Ereignisse direkt an BigBoy.
  • make_payment: Benachrichtigt sofort unseren PaymentService, um das Kreditkartengerät für Zahlungen auszulösen.

KUBI auf weitere Märkte ausweitenIntentionen besser erkennen als andere. Sie verwenden derzeit Gemini 2.0 Flash als ihr Kernmodell für Conversational AI und ChatGPT 4o für die statische Sprachgenerierung.

Der einfache Wechsel zwischen verschiedenen LLM-Modellen über das Admin-Panel von ElevenLabs hilft Second Space, das Verständnis und die Genauigkeit zu optimieren, da wir festgestellt haben, dass verschiedene Modelle die Tool-

KUBI auf weitere Märkte ausweiten

Die ersten GitHub-Commits von Second Space, die sich auf ElevenLabs beziehen, stammen aus dem Januar 2023 - noch bevor das mehrsprachige Modell veröffentlicht wurde. Sie erkannten frühzeitig die Qualität von ElevenLabs und bauten zuversichtlich eine Architektur auf, die zukünftige mehrsprachige Unterstützung antizipierte. Jetzt ist der Eintritt in Märkte wie Japan und Südkorea so einfach wie das Umlegen eines Schalters — keine zusätzliche Entwicklungsarbeit erforderlich!

Fazit

Mehr entdecken

ElevenLabs

AI-Audioinhalte in höchster Qualität generieren

Kostenlos registrieren

Haben Sie bereits ein Konto? Anmelden