本地化部署HomeAssistant语音助手并接入DeepSeek
HomeAssistant语音助手需通过Home Assistant Cloud连接Google Assistant 和 Amazon Alexa等云服务,国内使用不方便且不能使用国内的大模型,因此考虑通过本地化部署语音服务代替Home Assistant Cloud,同时把大模型替换为DeepSeek。
本文参考了以下文章:
deepseek接入home assistant - 『HomeAssistant』综合讨论区 - 『瀚思彼岸』» 智能家居技术论坛 - Powered by Discuz!
告别智障的HomeAsistant 语音助手,迎接豆包——你的智能专... - 『HomeAssistant』综合讨论区 - 『瀚思彼岸』» 智能家居技术论坛 - Powered by Discuz!
一、语音助手接入DeepSeek
1、安装 Extended OpenAI Conversation 插件
选择“HACS”,点击右上角三个点选择“Custom repositories”,然后在“Repository”输入以下链接:
https://github.com/jekalmin/extended_openai_conversation,“Type”选择“Integration”。
HACS中将增加以下组件:
选择并下载安装,重启 HomeAssistant。
在“设置”——>“设备与服务”——>“添加集成”,搜索并添加“Extended OpenAI Conversation”集成。
输入模型名称、APIKey和访问地址,并提交。这里也可以使用其他符合OpenAI标准格式的大模型。
集成中将新增以下组件:
2、安装Environment Variable for Home Assistant 插件
选择“HACS”,点击右上角三个点选择“Custom repositories”,然后在“Repository”输入以下链接:
https://github.com/Athozs/hass-environment-variable,“Type”选择“Integration”。
HACS中将增加以下组件:
选择并下载安装,重启 HomeAssistant。
打开 Home Assistant 的 configuration.yaml
文件,添加以下配置:
environment_variable:OPENAI_BASE_URL: "https://api.deepseek.com/v1"
3、配置Extended OpenAI Conversation
选择“设置”——>“设备与服务”——>“Extended OpenAI Conversation”
进入“配置”界面,设置模型种类,这里选“deepseek-chart”,提示词、Functions等不用修改,然后提交。
4、配置语音助手
选择“设置”——>“语音助手”——>“添加助手”。对话代理选择刚创建的deepseek,然后创建。
在刚创建的语音助手上选择“开始对话”,然后就可以进行测试了。
至此,已经可以通过输入文字进行交流,如要通过语音交互还需进行以下步骤。
二、部署本地语音转文字(STT)服务
1、方式一:本地PC(Docker)部署
首先在本地PC上安装DockerDesktop。(可参考)
然后运行以下命令:
#拉取Docker镜像
docker pull yaming116/sherpa-onnx-asr:latest
#安装服务
docker run -d --restart=always -it --name sherpa-onnx-asr -p 5001:5001 yaming116/sherpa-onnx-asr:latest
在DockerDesktop可看到服务启动情况:
2、方式二:本地HomeAssistant(add-ones)部署
在“设置”——>“加载项”——>“加载项商店”,点击右上角三个点选择“仓库”,然后添加以下链接:
https://github.com/knoop7/hassio-addons
重启HomeAssistant后加载项商店里会新增以下组件:
选择“Sherpa-OnnxAsr”并安装。
启动“Sherpa-OnnxAsr”。
三、安装“Fun Asr”集成
选择“HACS”,点击右上角三个点选择“Custom repositories”,然后在“Repository”输入以下链接:
https://github.com/yaming116/home-assistant-fun-asr,“Type”选择“Integration”。
HACS中将增加以下组件:
选择并下载安装。
在“设置”——>“设备与服务”——>“添加集成”,搜索并添加“Fun Asr”集成。
输入上面安装的“sherpa-onnx-asr”或“Sherpa-OnnxAsr”服务地址和端口,并提交。
集成中将新增以下组件:
四、配置HomeAssistant语音助手
选择“设置”——>“语音助手”,选择要设置的语音助手。
语音转文字选择刚才设置的本地Asr服务,TTS转语音选择“Edge TTS”。
Edge TTS安装可参考:
GitHub - hasscc/hass-edge-tts: 🗣️ Microsoft Edge TTS for Home Assistant, no need for app_key
五、测试语音助手
为确保在浏览器通过本地非https地址访问时可以使用麦克风,还需进行以下配置:
在谷歌浏览器地址栏输入以下地址并回车。
chrome://flags/#unsafely-treat-insecure-origin-as-secure
添加本地非https访问地址到列表,并将“Insecure origins treated as secure”置为“Enabled”。
如使用https访问时不需要以上设置。
以下是测试视频:
本地化部署HomeAssistant语音助手并接入DeepSeek_哔哩哔哩_bilibili