Conheça KUBI, o Robô Barista Conversacional
- Escrito por
- Thor Schaeff
- Publicado
- Última atualização
OuvirOuça este artigo
KUBI é um robô barista e recepcionista conversacional na Segundo Espaço, um espaço de coworking 24/7 de nova geração em Kaohsiung, Taiwan. Como toda a operação do espaço é automatizada, é fundamental que o KUBI — sendo o primeiro ponto de contato com os membros — traga um toque único e acolhedor. Por isso, a Second Space escolheu o IA Conversacional da ElevenLabs para criar interações divertidas e marcantes com os membros. Vamos ver o KUBI em ação.
Como o KUBI funciona
O KUBI utiliza uma arquitetura multissensorial avançada para simular interações semelhantes às humanas. O sistema é baseado em uma arquitetura de microsserviços, onde serviços especializados operam ao mesmo tempo e se comunicam por meio de um fluxo de eventos em tempo real. Esses serviços cuidam de tarefas como reconhecimento facial e de objetos usando inferência de IA em tempo real, detecção de copos e verificações de integridade por câmeras, impressão de recibos, reconhecimento facial seguro para controle de acesso e controle preciso dos dispensers de leite e grãos.
Esses são alguns dos serviços que rodam simultaneamente:
- Ambiente Serviço de Câmera: Usa inferência de IA em tempo real (PyTorch em Python) para identificar rostos e objetos.
- Tablet Serviço de Câmera: Muito parecido, mas detecta copos na mesa, objetos estranhos e faz verificações de integridade — por exemplo, se o robô KUBI está realmente segurando um copo.
- Serviço de Impressão de Recibos: Simples e confiável com Node + Typescript. Se comunica com uma impressora térmica RS232.
- Serviço de Pagamento: Desenvolvido com Kotlin JVM para garantir concorrência e segurança de tipos. Gerencia relatórios de recibos para o governo e comunicação com terminais de cartão de crédito, gateway de pagamentos em cripto ou provedores de pagamentos online.
- Dispensers de Leite e Grãos: Serviços de precisão separados — Arduino. Sensíveis ao tempo, baixa latência.
- Reconhecimento Facial: Serviço seguro e fortemente tipado em Kotlin, usado para controle de acesso.
- Serviço de Jato d’Água: Limpa automaticamente as jarras de vapor de leite após o uso — Arduino.
- E vários outros serviços, como para API do app mobile, exibição de menu, etc…
Por que tantos microsserviços? Simples — conseguimos gerenciá-los de forma independente, escalar facilmente e usar as melhores ferramentas para cada tarefa.
Um núcleo central orientado a eventos para integrar tudo
Coordenando todos esses microsserviços está um serviço central, chamado de forma divertida de "BigBoy". Ele é basicamente um grande processador de eventos não bloqueante:
Veja como o BigBoy funciona:
- Escuta eventos recebidos de todos os serviços.
- Verifica cenários para acionar gatilhos elegíveis.
- Seleciona o melhor cenário.
- Agenda ações para execução.
O que são cenários?
Pense nos cenários como compiladores não bloqueantes para eventos de ação do robô. Um evento de ação geralmente é o evento mais ao final da cadeia, resultando em um efeito físico, como movimento ou fala. Por exemplo, um cenário de saudação pode acionar:
MotionEvent(HelloMotion)
Geração de eventos com LLM: Alguns eventos de ação são gerados automaticamente por um LLM, por exemplo, com AutoMotion escolhe o melhor movimento de uma lista pré-definida com base no contexto. Já o com AutoGif usa um LLM para gerar a tag mais adequada para a frase. Essa tag é usada para buscar um GIF no Giphy, que depois aparece no rosto do KUBI junto com a frase.
Sincronização de eventos de ação: Esses eventos passam por um agendador que garante que fala, expressões faciais e movimentos fiquem sincronizados. Assim, a fala do KUBI combina perfeitamente com seus gestos.
Flexível e expansível
O legal é que os cenários podem até escutar eventos de ação e acionar novos eventos de ação de forma dinâmica. Por exemplo:
- Se o BigBoy detectar SayEvent("Feliz Natal"), ele pode acionar automaticamente luzes festivas e efeitos especiais no ambiente.
- Outro exemplo interessante: se o usuário escolher nosso app mobile para fazer um pedido, todas as interações (clicar em um produto, fazer pagamento, etc.) viram eventos e o BigBoy pode reagir em tempo real. Por exemplo, se o usuário passar pelo “Latte com leite de aveia”, o KUBI pode dizer: “Tem certeza que não quer esse Latte com leite de aveia? É muito bom!”
O BigBoy literalmente vê e sabe tudo o que está acontecendo. Legal, né?
DevOps e Observabilidade
A maioria dos serviços roda localmente e está em containers docker. Dentro do container, o ciclo de vida é gerenciado pelo Supervisor. Logs de erro são coletados no Sentry e enviados para um app administrativo personalizado, que monitora exceções, status em tempo real dos serviços e sensores, além de relatórios de latência. O mais interessante é que 90% do app Flutter foi gerado por IA.
Usando ElevenLabs para criar interações marcantes
A Second Space queria uma personalidade bem específica para o KUBI — uma mistura de Deadpool, Wheatley do jogo Portal e um pouco do Pathfinder de Apex Legends. Eles conseguiram criar a voz em 15 minutos, com emoções e pausas que deixam a voz ainda mais humana.
A ElevenLabs potencializa as falas do KUBI com duas APIs principais:
Transformar Texto em Áudio (TTS)
- Responsável por cerca de 90% das nossas interações.
- Usa cenários pré-definidos para criar o clima ideal.
- Mensagens geradas por LLMs podem ser personalizadas, com áudio de alta qualidade, melhor pronúncia e sem necessidade de resposta imediata.
- Oferece fala multilíngue incrivelmente natural em inglês, chinês, espanhol, japonês e até letão (Deadpool letão, alguém?).
Modo Conversacional (Tempo Real)
Ativado quando um cliente diz "Ei KUBI!", o Conversational AI da ElevenLabs responde em 200ms, tornando a interação realmente natural.
- Prioridade: Baixa latência.
- Troca um pouco da qualidade do áudio por mais rapidez na resposta.
- Usa a nova ferramenta de detecção_de_idioma em tempo real da ElevenLabs, lidando com diferentes idiomas instantaneamente.
- A sessão de Conversational AI começa sob demanda quando um membro entra no espaço ou diz “Hey, KUBI!”
Ferramentas conversacionais personalizadas
Usando o Conversational AI da ElevenLabs via conexão WebSocket, o KUBI pode usar function calling, por exemplo:
- fazer_pedido: Reconhece pedidos e envia eventos direto para o BigBoy.
- realizar_pagamento: Notifica imediatamente nosso PaymentService para acionar a máquina de cartão.
Alternar entre diferentes modelos LLM facilmente pelo painel administrativo da ElevenLabs ajuda a Second Space a otimizar o entendimento e a precisão, já que percebemos que modelos diferentes reconhecem as intenções das ferramentas melhor que outros. Atualmente, eles usam o Gemini 2.0 Flash como modelo principal para Conversational AI e o ChatGPT 4o para geração de falas estáticas.
Expandindo o KUBI para novos mercados
Os primeiros commits da Second Space no GitHub mencionando a ElevenLabs são de janeiro de 2023 — antes mesmo do lançamento do modelo multilíngue. Eles perceberam cedo o compromisso da ElevenLabs com a qualidade e criaram uma arquitetura já pensando no suporte a vários idiomas. Agora, entrar em mercados como Japão e Coreia do Sul é tão simples quanto apertar um botão — sem trabalho extra de desenvolvimento!
Conclusão
Microsserviços, eventos em tempo real e a tecnologia de voz da ElevenLabs fazem o KUBI parecer realmente vivo e pronto para encantar o mundo, um café e uma conversa divertida de cada vez.
.webp&w=3840&q=80)
.webp&w=3840&q=80)
.webp&w=3840&q=80)

