接入 ChatGPT 让小爱音箱更好玩!
Shaka / 2023-06-25
0. 介绍
本篇介绍如何利用开源项目 github.com/yihong0618/xiaogpt 给小爱音箱接入 ChatGPT。
原理为:在本地/服务器执行程序,不断从小米平台获取小爱同学最新的聊天记录,如果符合要求就发送给 GPT,再用 tts 让小爱同学朗读。
1. 准备
- OpenAI 的 GPT API(https://platform.openai.com/ 查看,需要收费,新用户有5$额度,够用很久)
- 小爱音箱
- 代理网络
- Python 3.8+
2. 下载 xiaogpt 项目
终端 git clone 或在 github 下载压缩包解压。
git clone https://github.com/yihong0618/xiaogpt.git
3. 安装依赖
进入项目根目录,执行
pip install -U --force-reinstall xiaogpt
4. 获取小米音箱的配置信息
- 下载 Miservice 项目,同第二步,并进入该项目目录
git clone https://github.com/yihong0618/MiService.git
- 临时设小米账号和密码到环境变量
Windows:
set MI_USER=xxxx
set MI_PASS=xxxx
linux
export MI_USER=xxxx
export MI_PASS=xxxx
- 查询小米设备信息。
执行,可以显示自己账号下的设备列表,包含名称、DID、Token、型号(hardware) 等信息。
python3 micli.py list
5. 配置小米音箱和GPT信息
回到 xiaogpt 目录,复制目录下的 xiao_config.json.example 文件为 xiao_config.json,并根据需要,修改其中的 hardware(型号)、account、password(小米账号、密码)、openai_key(OpenAI的API 密钥)、mi_did等。
本地开代理后,配置 proxy,格式如 “http://127.0.0.1:端口号”。
默认通过"请问"或者"开始持续对话触发 ChatGPT",可通过 “keyword”、“start_conversation"等修改。
6. 使用配置文件运行
python3 xiaogpt.py --config xiao_config.json
现在就可以通过"请问"等提示词在小爱同学的对话中与 ChatGPT 对话啦!