ChatGPT接入小爱音箱

383次阅读

一、准备工作

1. 一个可持续运行 Docker 的设备:我们用的群晖 NAS,也可以用路由器、树莓派等

2. 注册 ChatGPT 并获取 API-Key


二、Home Assistant 部署

1. 在 Docker 中部署 HA

2. 在 HA 设备与服务中添加集成 Xiaomi Miot Auto

3. 在该集成中配置小米账号添加小爱音箱设备

备注:此部分网络教程很丰富,可自行搜索学习


三、Node-RED 安装

以在群晖 Docker 中安装为例

1. 在 Docker 注册表中搜索 node-red

ChatGPT接入小爱音箱插图

2. 下载最新映像并安装

3. 安装网络选择 Host 即可

4. 安装完成后打开 群晖 IP:1880 进入 Web 端使用

四、Node-RED 流程与节点配置

1. 安装控制 HA 和 chatGPT 的插件

home-assistant:node-red-contrib-home-assistant-websocket

chatgpt:node-red-contrib-custom-chatgpt

ChatGPT接入小爱音箱插图1

2. 设备接入配置

有些地方有些坑,需要注意一下

① 拖入 HA 的 events 节点,需要提前先配置好 HomeAssistant 的服务,使其可以控制小米音箱;

② 步骤 2 中的 Access-Token 需要在 HomeAssistant 配置中生成一个永久的 Token,需要自己手动生成一下

ChatGPT接入小爱音箱插图2
ChatGPT接入小爱音箱插图3

③选择要控制的设备,这里选择 conversation

ChatGPT接入小爱音箱插图4


3. 添加 switch 节点,添加 chatgpt 的唤醒词

这一节点可要可不要,看自己设置

ChatGPT接入小爱音箱插图5

4. 读取小爱同学的文本

如果加了 switch 节点,就需要再加一个节点来获取一下内容;entityId 选择开始的设备,会自动显示 ID

ChatGPT接入小爱音箱插图6

5. 配置 chatgpt 节点

ChatGPT接入小爱音箱插图7

6. 添加输出节点

使用小爱的 tts 读出 chatgpt 的回复

ChatGPT接入小爱音箱插图8

配置完后,点击右上角的部署,就可以喊小爱同学提问测试了

可优化的地方:

1. 可以保留记录对话内容,让 chatgpt 记住,新增 function 节点来处理这些(个人觉得没太大必要)

2. 小爱的回答一般不会马上停止,只会被中断,目前没看到有很好的解决方法

3. 可以在 chatgpt 节点之前添加 function 节点,来改变 chatgpt 的 Prompt;也可以在 chatgpt 回答之后添加 function 来处理回答;

4. 使用不同的 TTS,目前还没研究 Node-Red 如何控制小米音箱来配置不同的 TTS,之前直接在本地用 python 的库倒是可以,或许 Node-Red 也可以运行 python 脚本来更换不同的 tts

Node-Red 可扩展性很强,也可以训练 chatgpt 让他帮你控制其他家庭设备,目前我使用场景只有提问,因为小米音箱很多问题回答不出来。

原文链接:https://www.bilibili.com/read/cv23829566/

正文完
 
不知道
版权声明:本站原创文章,由 不知道 2023-07-29发表,共计1116字。
转载说明:声明:本站内容均来自互联网,归原创作者所有,如有侵权必删除。 本站文章皆由CC-4.0协议发布,如无来源则为原创,转载请注明出处。