前沿
最近deepseek太火了,万物都要想着智能化,小爱音箱本身就是AI音箱,如果要是能接入大模型,那岂不是要“起飞”。
之前小爱触屏音箱刷机安装第三方软件(想了解的看这里,小爱触屏音响刷机安装第三方应用),手头正好有一个设备,还有一个小爱音箱mini,于是乎折腾起来,开搞。
需要准备部署Docker的电脑或服务器,还有各种AI开发平台账号,提前注册准备好。
由于本地要一直启动一个服务,所以我拿出了我的n1盒子刷的iStoreOS,然后用它的docker部署服务。直接用balenaEtcher工具,烧录下载好的iStoreOS固件,然后U盘启动刷机就可以了。这里不做细说,总之你有安装服务的机器就可以了。
视频教程
本次教程设计相关开源项目:
核心开源项目:https://github.com/idootop/mi-gpt
👋 项目简介
在这个数字化的世界里,家已不仅仅是一个居住的地方,而是我们数字生活的延伸。
MiGPT 通过将小爱音箱、米家智能设备,与 ChatGPT 的理解能力完美融合,让你的智能家居更懂你。
MiGPT 不仅仅是关于设备自动化,而是关于:打造一个懂你、有温度、与你共同进化的家。
设备要求
MiGPT 支持大部分的小爱音箱型号,推荐使用小爱音箱 Pro(完美运行)
注意:本项目暂不支持小度音箱、天猫精灵、HomePod 等智能音箱设备,亦无相关适配计划。
前提须知
小爱音箱必须是自己账号接入米家的设备,如果你是网上淘的机器,刷机过,无法接入米家的,是无法使用的。
部署miGPT-Server
我这里使用docker部署,iStoreOS拉去镜像失败,可以用小雅的工具,筛选出可用的镜像源,总之保证能拉去成功镜像,拉取成功后,在使用下方命令启动。
1.下载镜像
docker pull lmk123/migpt-server
2.终端中运行
docker run -d --name migpt-server -p 36592:36592 lmk123/migpt-server
3. 打开 http://localhost:36592
如果你是部署在服务器里的 Docker,请使用服务器的 IP 地址替换 localhost,例如 http://192.168.X.X:36592
项目配置
人设:自己根据喜好设置,机器人,主人名字。
音箱:选择自己型号的音箱。
小米账户 ID 获取:https://account.xiaomi.com/fe/service/account/profile
设备 ID:用小米音箱 APP 中获取
AI 服务:配置相应的大模型。
硅基流动-配置:https://migptgui.com/docs/apply/siliconflow
DeepSeek-配置:https://migptgui.com/docs/apply/deepseek
豆包-配置:https://migptgui.com/docs/apply/doubao
其他模型配置:https://migptgui.com/docs/apply/
在线配置工具:https://migptgui.com/gui
全部配置完,启动服务,有错误,先排查错误,没问题进行测试
原理补充:
AI 唤醒状态的运行流程大致如下:
通过唤醒词进入唤醒模式,比如:打开豆包,召唤豆包等。
当 AI 开始流式响应时,根据合适的长度 chunk 句子片段,调用 TTS 指令播放句子。
下发完 TTS 指令后,默认会等待 3s ,然后轮询查询接口检查当前设备是否在播放中。
当设备停止播放时,说明上一句已经 TTS 结束了,继续 TTS 播放下一句 AI 回复。
当在播放 AI 回复时,如果收到了新的用户消息,则终止当前的后续回复,处理新的用户消息。
当全部回复播放完毕后,会调用 wakeUpCommand 主动唤醒小爱,使其可以持续对话,省去了每一句都需要以“小爱同学”开头唤醒的麻烦。不过需要注意的是,这个唤醒是有时效的,当小爱回复说完了的时候,大概 10s 之内都可以正常继续回答,时间过久小爱也会自己取消唤醒状态。
如果当前 AI 没有正在回复,则通过循环播放静音音频 mute 小爱可能会随时会出现的回复。
当超过一段时间没有新对话产生时,会自动退出唤醒状态(也可以通过退出关键词手动触发)。