认识对话式机器人咖啡师 KUBI
- 发布时间
- 最近更新
KUBI 是一名对话式机器人咖啡师兼接待员,就职于Second Space。这里是位于台湾高雄的新一代 24/7 联合办公空间。由于工作区运营完全自动化,KUBI 作为会员的第一个互动触点,提供独特而友好的体验至关重要。因此,Second Space 选择 ElevenLabs 的对话式 AI,为会员打造有趣且难忘的互动体验。来看看 KUBI 的表现。
KUBI 如何运作
KUBI 使用精密的多感官架构,模拟类人互动。系统基于微服务架构,专用服务并行运行,并通过实时事件流通信。这些服务负责多种任务,包括利用实时 AI 推理进行人脸和物体识别、通过摄像头检测杯子并进行合理性检查、打印收据、用于门禁的安全人脸识别,以及精确控制牛奶和咖啡豆分配器。
以下是部分并行运行的服务:
- 环境 摄像头服务:使用实时 AI 推理(Python 中的 PyTorch)识别人脸和物体。
- 平板电脑 摄像头服务:与环境摄像头服务类似,但会检测桌上的杯子和异物,并进行合理性验证,例如确认 KUBI 机器人是否真的拿着杯子。
- 收据打印服务:基于 Node + Typescript,简单可靠。与 RS232 热敏打印机通信。
- 支付服务:采用 Kotlin JVM 构建,提供可靠的并发性和类型安全。负责政府收据申报,以及与信用卡终端、加密货币支付网关或在线支付服务商通信。
- 牛奶和咖啡豆分配器:独立的精密服务,采用 Arduino。对时间敏感、低延迟。
- 人脸识别:安全且强类型的 Kotlin 服务,用于门禁控制。
- 喷水服务:使用后自动清洗牛奶蒸汽壶,采用 Arduino。
- 以及其他各种服务,例如用于移动应用 API、菜单展示等……
为什么需要这么多微服务?很简单:它们可以独立管理、轻松扩展,并为每项任务选择最合适的工具。
串联一切的中央事件驱动核心
协调所有这些微服务的是一个中央服务,我们戏称它为“BigBoy”。它本质上是一个大型非阻塞事件处理器:
BigBoy 的工作方式:
- 监听来自所有服务的传入事件。
- 检查场景是否存在符合条件的触发器。
- 选择最佳场景。
- 安排动作播放。
什么是场景?
可以把场景视为机器人动作事件的非阻塞编译器。动作事件通常是最下游的事件,也就是事件链中的最后一步,会产生动作或语音等物理效果。例如,问候场景可能触发:
MotionEvent(HelloMotion)
通过 LLM 生成事件:部分动作事件由 LLM 自动生成。例如,withAutoMotion 会根据给定上下文,从预定义列表中选择最合适的动作;而 withAutoGif 会使用 LLM 为给定语句生成最合适的标签。该标签用于从 Giphy 获取 GIF,随后会与语句一同显示在 KUBI 的脸上。
动作事件同步:这些事件会流经调度器,确保语音、面部表情和动作保持同步。同步机制让 KUBI 的语音与手势完美匹配。
灵活且可扩展
更有意思的是,场景甚至可以监听动作事件,并动态触发新的动作事件。例如:
- 如果 BigBoy 检测到 SayEvent("Merry Christmas"),就能自动触发房间内的节日灯光和特效。
- 另一个有趣的例子是:如果用户选择移动应用下单,所有用户互动(点击商品、付款等)都会转换为事件,BigBoy 也能实时响应。例如,用户滑过“燕麦奶拿铁”时,KUBI 可能会说:“确定不要那杯燕麦奶拿铁吗?真的很好喝!”
BigBoy 能看到并了解发生的一切。很酷,对吧?
DevOps 和可观测性
大多数服务部署在本地,并封装在 Docker 容器中。容器内的生命周期由 Supervisor 进程控制系统管理。错误日志会收集到 Sentry,并导入自定义管理应用,用于监控异常、服务和传感器的实时状态以及延迟报告。值得一提的是,这个 Flutter 应用有 90% 由 AI 生成。
使用 ElevenLabs 打造难忘互动
Second Space 为 KUBI 设定了鲜明的个性:融合死侍、《传送门》游戏中的 Wheatley,再加一点《Apex 英雄》中的 Pathfinder。他们成功在 声音设计中用 15 分钟完成设计,加入情绪和停顿,让声音更具人性。
ElevenLabs 通过两个核心 API 为 KUBI 提供语音能力:
文本转语音(TTS)
- 处理约 90% 的互动。
- 使用预先设计的场景,营造恰到好处的氛围。
- LLM 生成的消息可个性化,音频质量高、发音准确,且不要求实时响应。
- 提供极其自然的多语言语音,支持英语、中文、西班牙语、日语,甚至拉脱维亚语(拉脱维亚语死侍,怎么样?)。
对话模式(实时)
当顾客说“嘿,KUBI!”时,ElevenLabs 的对话式 AI 可在 200ms 内响应,让互动真正如同与人交谈。
- 优先级:低延迟。
- 以部分音频质量换取更快响应。
- 使用 ElevenLabs 新推出的实时 language_detection 工具,即时动态处理不同语言。
- 会员进入场地或说“嘿,KUBI!”时,按需启动对话式 AI 会话。
自定义对话工具
通过 WebSocket 连接使用 ElevenLabs 的对话式 AI,KUBI 可以利用函数调用,例如:
- make_order:识别订单,直接将事件发送至 BigBoy。
- make_payment:立即通知 PaymentService,触发刷卡机进行付款。
通过 ElevenLabs 管理面板轻松切换不同 LLM 模型,可帮助 Second Space 优化理解能力和准确性,因为我们发现不同模型对工具意图的识别效果各不相同。目前,他们使用 Gemini 2.0 Flash 作为对话式 AI 的核心模型,使用 ChatGPT 4o 生成静态语音。
将 KUBI 扩展至更多市场
Second Space 最早提及 ElevenLabs 的 GitHub 提交记录可追溯至 2023 年 1 月,甚至早于多语言模型发布。他们很早便认可 ElevenLabs 对质量的坚持,并充满信心地构建了可支持未来多语言功能的架构。如今,进入日本和韩国等市场就像打开开关一样简单,无需额外开发工作!
结语
微服务、实时事件和 ElevenLabs 强大的语音技术,让 KUBI 真正鲜活起来,随时准备以一杯杯咖啡和妙趣横生的互动,为世界带来惊喜。

