.webp&w=3840&q=95)
Yvonne Johnson at the 11/11 ElevenLabs Summit
An authentic voice for change
Black Friday
KUBI é um barista conversacional que trabalha com o Conversational AI da ElevenLabs. Veja como.
KUBI é um robô barista e recepcionista conversacional na Second Space, um espaço de co-working de última geração 24/7 em Kaohsiung, Taiwan. Como a operação do espaço é totalmente automatizada, é muito importante para KUBI — como o primeiro ponto de interação com os membros — adicionar um toque amigável e único. É por isso que a Second Space escolheu o Conversational AI da ElevenLabs para criar interações divertidas e memoráveis com os membros. Vamos ver KUBI em ação.
KUBI utiliza uma arquitetura multissensorial sofisticada para simular interação humana. O sistema se baseia em uma arquitetura de microsserviços, onde serviços especializados operam simultaneamente e se comunicam por meio de um fluxo de eventos em tempo real. Esses serviços gerenciam várias tarefas, incluindo reconhecimento facial e de objetos usando inferência de IA em tempo real, detecção de copos e verificações de sanidade via câmeras, impressão de recibos, reconhecimento facial seguro para controle de acesso e controle preciso dos dispensadores de leite e grãos.
Estes são alguns dos serviços que estão rodando simultaneamente:
Por que todos esses microsserviços? Fácil — nós os gerenciamos de forma independente, escalamos facilmente e usamos as melhores ferramentas para cada tarefa.
Coordenando todos esses microsserviços está um serviço central, humoristicamente chamado de "BigBoy". É essencialmente um processador de eventos gigante e não bloqueante:
| 1 | |
| 2 | internal 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 | |
| 19 | 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 |
O que são cenários?
Pense em cenários como compiladores não bloqueantes para eventos de ação do robô. Um evento de ação é geralmente o evento mais a jusante, que é o último passo em uma cadeia, resultando em um efeito físico, como movimento ou fala. Por exemplo, um cenário de saudação pode acionar:
Geração de Eventos com LLM: Alguns eventos de ação são gerados automaticamente por um LLM, por exemplo, withAutoMotion escolheria o melhor movimento de uma lista predefinida com base no contexto dado. Enquanto withAutoGif usa um LLM para gerar a tag mais adequada para a frase dada. A tag é usada para obter um GIF no Giphy, que será exibido no rosto de KUBI junto com a frase.
Sincronização de eventos de ação: Esses eventos então fluem por um agendador que garante que a fala, expressões faciais e movimentos permaneçam sincronizados. A sincronização garante que a fala de KUBI corresponda perfeitamente aos seus gestos.
O legal é que os cenários podem até ouvir eventos de ação e acionar novos eventos de ação dinamicamente. Por exemplo:
O BigBoy literalmente vê e sabe tudo o que está acontecendo. Bem legal, né?
A maioria dos serviços é hospedada localmente e está encapsulada em um contêiner docker. No contêiner, seu ciclo de vida é gerenciado pelo sistema de controle de processos Supervisor. Logs de erro são coletados no Sentry e são alimentados em um aplicativo administrativo personalizado para monitorar quaisquer exceções, status em tempo real de serviços e sensores, bem como relatórios de latência. O legal é que o aplicativo Flutter foi 90% gerado por IA.
A Second Space tinha uma personalidade muito específica em mente para KUBI - uma mistura de Deadpool, Wheatley do jogo Portal e um pouco de Pathfinder do Apex Legends. Eles conseguiram projetar a voz em 15 minutos, completa com emoções e pausas que tornam a voz ainda mais humana.
A ElevenLabs alimenta as capacidades de fala de KUBI através de duas APIs principais:
Ativado quando um cliente diz, "Ei KUBI!", o Conversational AI da ElevenLabs é capaz de responder em 200ms, fazendo a interação parecer realmente humana.
Usando o Conversational AI da ElevenLabs via conexão WebSocket, KUBI pode aproveitar a chamada de função, por exemplo:
Alternar entre diferentes modelos LLM facilmente através do painel administrativo da ElevenLabs ajuda a Second Space a otimizar o entendimento e a precisão, pois notamos que diferentes modelos reconhecem as intenções da ferramenta melhor do que outros. Atualmente, eles estão usando o Gemini 2.0 Flash como seu modelo principal para Conversational AI e o ChatGPT 4o para as gerações de fala estática.
Os primeiros commits do GitHub da Second Space referenciando a ElevenLabs datam de janeiro de 2023 - mesmo antes do modelo multilíngue ser lançado. Eles reconheceram a dedicação da ElevenLabs à qualidade desde cedo e construíram com confiança uma arquitetura antecipando o suporte multilíngue futuro. Agora, entrar em mercados como Japão e Coreia do Sul é tão simples quanto apertar um botão — sem necessidade de trabalho extra de desenvolvimento!
Microsserviços, eventos em tempo real e a poderosa tecnologia de voz da ElevenLabs fazem KUBI parecer realmente vivo e pronto para conquistar e encantar o mundo, um café e uma interação espirituosa de cada vez.
.webp&w=3840&q=95)
An authentic voice for change

Expanding access and productivity with voice-first AI
Desenvolvido por ElevenLabs Agentes