当前位置:首页|资讯|ChatGPT

ChatGPT接入小爱音箱

作者:阿明杂货铺发布时间:2023-05-22

一、准备工作

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


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


2.设备接入配置

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

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

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

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



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

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


4.读取小爱同学的文本

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

5.配置chatgpt节点


6.添加输出节点

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


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


可优化的地方:

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

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

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

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


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



Copyright © 2024 aigcdaily.cn  北京智识时代科技有限公司  版权所有  京ICP备2023006237号-1