KUBI es un barista conversacional que trabaja con la Conversational AI de ElevenLabs. Aquí te contamos cómo.
KUBI es un barista y recepcionista conversacional en Second Space, un espacio de co-working de nueva generación 24/7 en Kaohsiung, Taiwán. Dado que la operación del espacio de trabajo está completamente automatizada, es muy importante para KUBI —como primer punto de interacción con los miembros— añadir un toque amigable y único. Por eso, Second Space eligió la
Cómo funciona KUBI
KUBI emplea una arquitectura multisensorial sofisticada para simular una interacción similar a la humana. El sistema se basa en una arquitectura de microservicios, donde servicios especializados operan simultáneamente y se comunican a través de un flujo de eventos en tiempo real. Estos servicios gestionan varias tareas, incluyendo reconocimiento facial y de objetos usando inferencia de IA en tiempo real, detección de tazas y verificaciones de seguridad mediante cámaras, impresión de recibos, reconocimiento facial seguro para control de acceso, y control preciso de dispensadores de leche y granos.
Cómo funciona KUBI
EntornoServicio de Cámara: Utiliza inferencia de IA en tiempo real (PyTorch en Python) para detectar caras y objetos.
TabletaServicio de Cámara: Muy similar, pero detecta tazas en la mesa, objetos extraños y verifica la seguridad, como si el robot KUBI realmente sostiene una taza.
Servicio de Impresión de Recibos: Simple y fiable con Node + Typescript. Se comunica con una impresora térmica RS232.
Servicio de Pago: Construido con Kotlin JVM para una concurrencia sólida y seguridad de tipos. Maneja informes de recibos gubernamentales y comunicaciones con un terminal de tarjeta de crédito, pasarela de pagos con criptomonedas o proveedores de pagos en línea.
Dispensadores de Leche y Granos: Servicios de precisión separados — Arduino. Sensibles al tiempo, baja latencia.
Reconocimiento Facial: Servicio seguro y fuertemente tipado en Kotlin, usado para control de acceso.
Servicio de Chorro de Agua: Limpia automáticamente las jarras de vapor de leche después de su uso — Arduino.
Y varios otros servicios, por ejemplo, para la API de la aplicación móvil, visualización de menús, etc.
Estos son algunos de los servicios que están funcionando simultáneamente:
Un núcleo central impulsado por eventos para unirlo todo
¿Por qué todos estos microservicios? Fácil — los gestionamos de forma independiente, escalamos fácilmente y usamos las mejores herramientas para cada tarea."BigBoy". Es esencialmente un procesador de eventos gigante y no bloqueante:
Un núcleo central impulsado por eventos para unirlo todo
private 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
¿Qué son los escenarios?
Piensa en los escenarios como compiladores no bloqueantes para eventos de acción del robot. Un evento de acción suele ser el evento más descendente, que es el último paso en una cadena, resultando en un efecto físico, como movimiento o habla. Por ejemplo, un escenario de saludo podría activar:
Piensa en los escenarios como compiladores no bloqueantes para eventos de acción
Sincronización de eventos de acción: Estos eventos luego fluyen a través de un programador que asegura que el habla, las expresiones faciales y los movimientos se mantengan sincronizados. La sincronización asegura que el habla de KUBI coincida perfectamente con sus gestos.
Generación de Eventos con LLM:
Sincronización de eventos de acción: Estos eventos luego fluyen a través de un programador que asegura que el habla, las expresiones faciales y los movimientos se mantengan sincronizados. La sincronización asegura que el habla de KUBI coincida perfectamente con sus gestos. y activar nuevos eventos de acción dinámicamente. Por ejemplo:
Si BigBoy detecta
Otro ejemplo genial es que si el usuario elige nuestra App Móvil para hacer un pedido, todas las interacciones del usuario (hacer clic en un producto, realizar un pago, etc.) se convierten en eventos y BigBoy también puede reaccionar en tiempo real. Por ejemplo, si el usuario pasa por “Oatmilk Latte”, KUBI podría decir “¿Estás seguro de que no quieres ese Oatmilk Latte? ¡Está muy bueno!”
Lo genial es que los escenarios pueden incluso escuchar
DevOps y Observabilidad
BigBoy literalmente ve y sabe todo lo que sucede. ¿Bastante genial, no?
La mayoría de los servicios se alojan localmente y están envueltos en un contenedor docker. En el contenedor, su ciclo de vida es gestionado por el sistema de control de procesos Supervisor. Los registros de errores se recopilan en Sentry y se alimentan a una aplicación de administración personalizada para monitorear cualquier excepción, el estado en tiempo real de los servicios y sensores, así como los informes de latencia. Lo genial es que la aplicación Flutter fue generada en un 90% por IA.
Usando ElevenLabs para crear interacciones memorablesdiseñar la voz en 15 minutos, completa con emociones y pausas que hacen que la voz sea aún más humana.
Second Space tenía en mente una personalidad muy específica para KUBI: una mezcla de Deadpool, Wheatley del juego Portal y un poco de Pathfinder de Apex Legends. Lograron
ElevenLabs potencia las capacidades de habla de KUBI a través de dos APIs principales:
Maneja ~90% de nuestras interacciones.
Utiliza escenarios prediseñados para el ambiente perfecto.
Los mensajes generados por LLMs pueden ser personalizados, con audio de alta calidad, la mejor pronunciación, no críticos en tiempo.
Ofrece un habla multilingüe increíblemente natural en inglés, chino, español, japonés e incluso letón (¿alguien dijo Deadpool letón?).
Se activa cuando un cliente dice,
Modo Conversacional (Tiempo Real)"¡Hey KUBI!", la IA conversacional de ElevenLabs es capaz de responder en 200ms, haciendo que la interacción se sienta verdaderamente humana.
Prioridad: Baja latencia.
Intercambia algo de calidad de audio por capacidad de respuesta.
Utiliza la nueva herramienta de language_detection de ElevenLabs, manejando dinámicamente diferentes idiomas al instante.
La sesión de IA conversacional se inicia bajo demanda cuando un miembro entra en la instalación o dice “¡Hey, KUBI!”
Usando la IA conversacional de ElevenLabs a través de una conexión WebSocket, KUBI puede aprovechar la llamada de funciones, por ejemplo:
Herramientas Conversacionales Personalizadas
make_order: Reconoce pedidos, envía eventos directamente a BigBoy.
make_payment: Notifica inmediatamente a nuestro PaymentService para activar la máquina de tarjetas de crédito para pagos.
Expandiendo KUBI a mercados adicionalesintenciones de la herramienta que otros. Actualmente están usando Gemini 2.0 Flash como su modelo principal para IA conversacional y ChatGPT 4o para las generaciones de habla estática.
Cambiar entre diferentes modelos LLM fácilmente a través del panel de administración de ElevenLabs ayuda a Second Space a optimizar la comprensión y precisión, ya que notamos que diferentes modelos reconocen mejor las
Expandiendo KUBI a mercados adicionales
Los primeros commits de GitHub de Second Space que hacen referencia a ElevenLabs datan de enero de 2023, incluso antes de que se lanzara el modelo multilingüe. Reconocieron la dedicación de ElevenLabs a la calidad desde el principio y construyeron con confianza una arquitectura anticipando el soporte multilingüe futuro. Ahora, entrar en mercados como Japón y Corea del Sur es tan simple como presionar un interruptor — ¡sin trabajo de desarrollo adicional requerido!
Millions of people across Africa live with speech impairments or loss of voice. Through our partnership with Senses Hub, we’re developing personalized, culturally relevant voices that restore identity, confidence, and connection across the continent.