语音之年 - 第 1 章:Assist
今年是 Home Assistant 的语音之年。我们在 2023 年的目标,是让用户可以用自己的语言控制 Home Assistant。今天,在 2023 年开始后的第一个月,我们开启第一章。
在 Home Assistant,我们相信技术应该拿来探索和尝试,项目也应该尽快可用。然后我们就能和社区一起持续迭代、不断打磨。所以今天,我们带来了支持 22 种语言的基础体验,让你可以用自然语言与 Home Assistant 交互。哦对了,我们在路上还做了一些很有趣的东西,也会一并发布。
如果你想观看这篇博客对应的视频介绍(包含现场演示),请查看我们的直播回放。
意图
语音助手的核心,是能够理解一句话背后的意图。用户到底想做什么?为了提取这些意图,我们创建了自己的模板句子匹配格式和意图识别器,名为 Hassil。
这个新格式已经用于我们的新项目 Home Assistant Intents。这个项目的目标,是收集尽可能多语言的家庭自动化句子。项目启动仅一个月,就有 112 人参与贡献。现在项目已支持22 种语言,另有 14 种正在进行中。
Assist
我们为 Home Assistant 增加了一个新功能: Assist。它让用户可以通过自然语言控制 Home Assistant。它由 Hassil 和 Home Assistant Intents 项目中的句子数据驱动。
我们希望 Assist 尽可能让更多人都能用上。为此,我们让它不需要额外硬件就能运行 - 只要更新到 Home Assistant 2023.2 就可以开始使用!通过智能算法与“暴力堆数据”(我们正在收集大量句子)的结合,我们做出了一个能够覆盖大多数常见表达的系统。未来也可能会加入更强大的、AI 驱动的意图识别器,作为可选功能。
Assist 在 Home Assistant 2023.2 中默认启用。点击仪表盘右上角新的 Assist 图标 即可使用。
Android Wear 上的 Assist
我们希望使用 Assist 尽可能简单。为此,我们在 Android Wear 应用中新增了一个磁贴。你只需从表盘轻轻一滑,就会看到 Assist 按钮,并可以发送语音命令。
该磁贴可在 Home Assistant Companion for Android 2023.1.1 中使用。
通过 Siri 与 Apple Shortcuts 使用 Assist
在 Apple 设备上,我们通过集成 Siri 实现了完全免手动操作的体验。这依赖 Home Assistant 应用中的一个新 Apple 快捷指令动作,叫做 Assist。这个快捷动作也可以从 Mac 任务栏、iPhone 主屏幕或 Apple Watch 表盘组件中手动触发。我们准备了两个开箱即用的快捷指令,你可以在文档中一键导入,快速启用这些能力。
通过 Siri 与 Apple Shortcuts 使用 Assist 的文档。
Assist 快捷指令可在 Home Assistant Companion for iOS 2023.2 中使用。Mac 版本正在等待审核。
自定义句子
在 Home Assistant,我们相信每个家都独一无二,也相信技术应当适应你,而不是你去适应技术。因此我们在架构上就支持用户进行深度自定义。Assist 也不例外。
- 你是《权力的游戏》粉丝,想让每次回复都变成 "hodor"?
- 你想用一句 "Hocus pocus living room" 来打开客厅灯?
- 你想用自定义句子触发派对模式脚本?
Assist 支持自定义句子、响应和意图,让你不仅能实现上面这些玩法,还能做更多。我们设计的自定义句子格式也便于与社区共享。
阅读文档了解如何开始。
我们计划在未来版本中加入图形界面,用于自定义和导入句子。
自定义 Assist 引擎
默认情况下,Assist 由我们自己的意图识别器驱动。它在本地运行,但主要用于设备控制。也许你想进行更广泛的问答,或者你在找一个会“自由发挥”回答内容的对话式 AI。针对这些场景,Assist 支持替换处理交互的引擎。
Home Assistant 2023.2 内置了两个可选 Assist 引擎:Google Assistant 和 OpenAI GPT-3。
如果你的 Home Assistant 实例已连接到 Google Assistant,那么 Google Assistant 引擎就可以控制你的设备。
所有与 Assist 交互的方式都可以继续使用,因为它们并不绑定具体引擎。所以如果你一直想在 HomePod 上使用 Google Assistant,现在可以了 🤭
OpenAI GPT-3 Assist 引擎会用 GPT-3 处理你的所有交互,它和著名的 ChatGPT 属于同一家族。它不能控制你的家,也不能帮你做家庭自动化。它给出的回答不一定都准确,但确实很好玩!
我们计划在未来版本中支持配置多个 Assist 引擎来处理交互。
接下来是什么
在语音之年第 1 章里,我们专注把意图识别能力构建进 Home Assistant,同时借助 Google 和 Apple 完成更难的部分(语音识别)。这让我们能以最快速度把可用成果交给社区体验。
我们会继续收集各语言的家庭自动化句子(任何人都可以帮忙!)。相关更新会随 Home Assistant 的每个主要版本一起发布。
下一步是将语音转文字和文字转语音集成到 Assist 中。我们暂时还没有确定发布时间,请持续关注!
致谢
以上内容的实现,离不开很多人的努力。
技术: Mike Hansen, Paulus Schoutsen, Daniel Shokouhi, Zac West, Rosemary Orchard, Tronikos
语言负责人: @AalianKhan, @Ahmed-farag36, @alpdmrel, @arunshekher, @auanasgheps, @benjaminlecouteux, @bluefoxlee, @cibernox, @cvladan, @davefx, @dinhchinh82, @dsimop, @duhow, @easterapps, @ErnestStaug, @fadamsen, @flexy2dd, @gabimarchidan, @haim-b, @halecivo, @HepoH3, @hertzg, @hristo-atanasov, @huusissa, @joaorgoncalves, @larsdunemark, @leranp, @LubosKadasi, @makstech, @mojikosu, @MTrab, @nagyrobi, @schizza, @Scorpoon, @skynetua, @spuljko, @tetele, @TheFes, @Uriziel01, @xraver, @zubir2k
语音社区: @Alexivia, @Atalonica, @AwesomeGuy000, @BossNeo, @CedricFinance, @Davidsoff, @EmilZackrisson, @FragMenthor, @InfiniteBed, @Kalma-House, @Licmeth, @Marlo461, @N3rdix, @Nismonx, @Robin-St, @TaQuangTien, @ThomDietrich, @TomaszPilch, @Wojciechgc, @alessandroias, @bemble, @berendhaan, @dejan2101, @dependabot[@bot], @dobromir-hristov, @frenck, @hugovsky, @iddiek, @jfisbein, @jharrvis, @jorclaret, @kamildoleglo, @kblin, @khymmera, @kroimon, @lellky, @ludeeus, @lukahra, @lunmay, @mardito, @martindybal, @mib1185, @michaelmior, @orrc, @pckahrs, @piitaya, @pmentis, @poltalashka, @rPonuganti, @rechin304, @relust, @rickydg, @rpochot, @rrakso, @rumbu13, @sanyatuning, @tasmin, @thecode, @waltlillyman, @witold-gren, @x15pa3ck15x, @yuvalabou

