Presentamos Eleven v3 Alpha

Prueba v3

Conoce a KUBI, el robot barista conversacional

KUBI es un barista conversacional que trabaja con la Conversational AI de ElevenLabs. Aquí te contamos cómo.

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

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

  • Entorno Servicio de Cámara: Utiliza inferencia de IA en tiempo real (PyTorch en Python) para detectar caras y objetos.
  • Tableta Servicio 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

  1. Escucha eventos entrantes de todos los servicios.
  2. Verifica escenarios para disparadores elegibles.
  3. Selecciona el mejor escenario.
  4. Programa acciones para su ejecución.
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

¿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:

SayEvent("¡Hola! ¡Bienvenido!", wave.gif)
MotionEvent(HelloMotion)

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!

Conclusión

Explora más

ElevenLabs

Crea con audio con IA de la más alta calidad

Empieza gratis

¿Ya tienes una cuenta? Inicia sesión