
小爱音箱接入 ChatGPT
最近几天,我折腾了一个好玩的东西,体验了一把语音对话 AI 的乐趣。
整个过程其实不算复杂,主要利用了yihong大神写的 xiaogpt 脚本,配合 Docker Compose 部署了一个服务。配置方面,需要填写小爱音箱的 DID、小米账号的 Account ID 和 Password 等等。
在开始之前,需要先获取小爱同学的 DID,并配置 xiaogpt 脚本,才能让小爱同学和 ChatGPT 顺利对话。
第一步:获取小爱同学的 DID
-
安装
miservice_fork包:Bash1pip install miservice_fork -
设置小米账号的用户名和密码环境变量:
Bash1export MI_USER=你的小米账号用户名 2export MI_PASS=你的小米账号密码 -
获取 MI_DID:
Bash1micli list运行命令后,会列出与你小米账号绑定的设备列表,找到你的小爱音箱,复制其
did值。 -
设置 MI_DID 环境变量:
Bash1export MI_DID=你复制的did值
第二步:配置 xiaogpt 脚本
-
这个是我的配置,使用的azure的api,具体的可以查看项目主页的readme:
JSON1{ 2 "api_base": "https://azureapi.openai.azure.com/", 3 "openai_key": "你的OpenAI API Key", 4 "deployment_id": "gpt-35-turbo", 5 "hardware": "你的小爱音箱型号", 6 "mute_xiaoai": true, 7 "use_command": true, 8 "account": "你的小米账号用户名", 9 "password": "你的小米账号密码", 10 "mi_did": "你复制的did值", 11 "bot": "chatgptapi", 12 "tts": "mi", 13 "prompt": "你的名字叫小米,是一个人工智能助手,你的回答尽量简明扼要,回答总数不能超过150字。", 14 "keyword": [ 15 "请问" 16 ], 17 "start_conversation": "小米同学", 18 "end_conversation": "小米你走吧", 19 "stream": true 20}
第三步:启动 xiaogpt 脚本
Bash1python3 xiaogpt.py --config xiao_config.json
一切就绪后,对着小爱说一句 "请问……",就能召唤 ChatGPT 的力量了! 比如 "请问今天天气怎么样?",小爱同学就会把问题抛给 ChatGPT,然后将答案转述给我。
不过,目前的体验还不够完美。由于是 "骇客" 手段,小爱音箱在调用 ChatGPT 时会先进行系统播报,然后短暂静音,最后才输出答案,整个过程略显尴尬。目前应该无解,想要流畅丝滑,应该只有刷机之类的办法了。
另外,改完以后还给家里新增了新款的小爱 Play 增强版。多了一个万能遥控感觉可玩性高了很多很多,后面有空再折腾下 Home Assistant 多探索一些玩法
Likes


