享受AI语音助手
我愿将今年称为Home Assistant AI语音元年。去年12月,Home Assistant官方正式推出了Home Assistant Voice Preview Edition设备。
这一举措表明官方认为相关软硬件配套已初步成熟,可以体验。与此同时伴随着过去两年AI技术的飞速发展,AI语音助手不再是遥不可及的梦想。无论你是刚入门的新手,还是经验丰富的Home Assistant玩家,现在都是时候在Home Assistant中体验AI语音助手的力量了。
为此我将发布一系列文章介绍Home Assistant AI语音助手,本期文章主要介绍以下两个方面内容:
-
•AI语音助手如何工作 -
•快速部署基于Gemini大模型的AI语音助手
我知道大家通常对理论的兴趣不如实操,但理论才是实操的基础。许多小伙伴在遇到问题时不知道如何下手解决,往往是因为缺乏理论知识的储备。
AI语音助手如何工作
1. 语音处理流
-
•Assist:Home Assistant中自带的语音助手 -
•Pipeline:是一种将一系列处理步骤有序组合在一起的方式,每个步骤通过处理数据并将其传递到下一个步骤,最终完成整个任务 -
•STT:Speech-to-Text,语音转文本 -
•TTS:Text-to-Speech,文本转语音

首先,通过某种硬件采集用户的语音,然后通过STT(相当于人耳)将音频转换为文本,将转换后的文本发送给Assist(相当于人脑)进行处理。虽然可以直接使用Home Assistant系统自带的Assist(对话代理),但系统自带的功能主要专注于智能家居控制,无法处理更复杂的非智能家居问题,因此需要借助AI来增强Assist的处理能力。经过Assist处理后,得到的结果是文本(这里简化了部分细节),然后通过TTS(相当于人嘴)技术将文本转换回语音,最后通过硬件播放语音。将这些步骤综合起来,我们称之为Assist Pipeline。
这种语音处理过程(STT、AI对话代理、TTS)对CPU的需求较高,通常无法在语音助手硬件(比如:Home Assistant Voice Preview Edition)上直接完成,有时甚至运行Home Assistant系统的硬件(比如:Raspberry Pi 4)也难以处理。因此,官方提供一种可选解决方案是将语音处理转移到云端(目前只提供STT和TTS服务,没有AI对话代理服务)通过Home Assistant Cloud
实现。AI对话代理服务则由Gemini、ChatGPT、DeepSeek
以API方式完成。这使得即便是低功耗的Home Assistant硬件,也能轻松使用AI语音助手。
本地部署STT、TTS、LLM后面文章会讲,大家别急!先关注作者加三连
快速部署基于Gemini大模型的AI语音助手
1. 准备工作
-
•备份系统:最好先备份一下系统,可以参考《Home Assistant 加载项之备份与还原(上篇)》 -
•Home Assistant Cloud:注册账户可以免费体验一个月(后面再说为什么选用)。如果续费,则每月收取6.5USD -
•HAOS 版本:最好是 2025.2.2
及以上版本

2. 可选步骤
如果Home Assistant启用公网和本地域名访问,检查一下设置->系统->网络
是否开启了外网访问,如果未开启需要配置下面两处网址

3. 登录Home Assistant Cloud账户
设置->Home Assistant Cloud->开始一个月免费试用

然后登录账户,会提示你添加一名为“Home Assistant Cloud”的助手,确认即可
4. 配置Home Assistant Cloud助手
设置->语音助手
,在Assist下会多出一个Home Assistant Cloud

点击,按照下图配置

点击试试声音

点击播放,正常情况应该可以听到语音播放,如果显示如下错误则需要检查下步骤2

5. 公开设备以及添加别名
为了让Assist可以控制设备,需要公开设备给Assist,这样Assist可以知道哪些设备可以被它控制

系统默认在添加Assist时候就已经把所有设备都公开给它了,这里建议将不需要语音控制的设备删除掉可以加快响应速度。
除了公开设备之外,还需要给公开设备取个别名,这个别名是专门给Assist使用。这样在语音控制设备时候,Assist知道这个设备名具体对应哪个设备。

6. 语音控制设备
有多种途径使用语音助手,比如Web端首页

或者助手页面

再或者手机移动端

可以通过语音实现基本控制,例如开关设备、查询设备。
不过,从上图中你也可以看到,当我问:“你是谁?”时,它并没有理解我的意思。这也正是我在开头理论部分内容提到系统自带的Assist功能主要专注于智能家居控制,无法处理更复杂的非智能家居问题。如果我们希望它能解决更多的问题,就需要借助AI来增强Assist的处理能力。
7. 部署Gemini大模型
之所以首选Gemini大模型是因为它可以申请免费API。
设置->设备与服务->添加集成
,搜索Google,在里面点击安装Google Generative AI

按照引导申请Gemini API,然后提交

8. AI语音助手
再次配置Home Assistant Cloud助手,在对话代理选项中设置为Google Generative AI,点击更新

注意,打开首选本地处理命令
!!!注意,打开首选本地处理命令
!!!注意,打开首选本地处理命令
!!!
重要事情说三遍,这样一来对于简单开关类、查询类指令不需要走AI对话代理,直接本地处理执行,不仅响应速度更快还节约token。
9. 测试
这次问:“你是谁”,他终于可以回答了,而且问它什么大模型也能回答正确。
当我问:“你能为我做什么”时候,它的回答其实是跟你公开的设备有关,具体原因留给大家自己思考。
后记
最后,我再说说为什么我首先推荐通过Home Assistant Cloud来使用AI语音助手。主要是因为官方在中文STT和TTS方面的支持非常出色。其实我之前也尝试过本地部署STT和TTS,通过与官方方案对比,你才会发现哪些叫能用
、哪些叫好用
,从而有了明确的评判标准。如果一开始就直接尝试本地部署,你可能会因为不理想的体验而感到失望。
在准备这期内容时候,遇到许多坑。通过查阅官网、github、论坛才最终一一爬坑。
后续文章还会分享如何使用ChatGPT和DeepSeek作为AI对话代理,以及本地部署STT、TTS、LLM。
创作不易,希望大家能一键三连
。