前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >大语言模型(AI)接入小爱音箱

大语言模型(AI)接入小爱音箱

作者头像
IT小马哥
发布2024-10-24 09:29:54
890
发布2024-10-24 09:29:54
举报
文章被收录于专栏:Java Tale

家里闲置了一个小米 mini 音箱,打算接入大模型试试,,从“人工智障”秒变学霸。

🔊 支持的小爱音箱型号

✅ 完美运行

已知可以完美运行 MiGPT 的小爱音箱型号有:

名称

型号

ttsCommand

wakeUpCommand

playingCommand

streamResponse

反馈来源

小爱音箱 Pro

LX06

[5, 1]

[5, 3]

-

true

@idootop

小爱音箱 mini

LX01

[5, 1]

[5, 2]

[4, 1, 1]

true

@gsscsd

小爱音箱 Play(2019 款)

LX05

[5, 1]

[5, 3]

[3, 1, 1]

true

@wt666666

小爱音箱 万能遥控版

LX5A

[5, 1]

[5, 3]

-

true

@imhsz

小米 AI 音箱

S12

[5, 1]

[5, 3]

-

true

微信: CMSJ

小米 AI 音箱(第二代)

L15A

[7, 3]

[7, 1]

[3, 1, 1]

true

微信: 龙之广

小爱智能家庭屏 10

X10A

[7, 3]

[7, 1]

-

true

@IDarkBoss

Xiaomi Sound Pro

L17A

[7, 3]

[7, 1]

-

true

微信: eof

🚗 正常运行

部分机型的 MIoT 接口不支持查询设备播放状态或查询状态异常,比如小米音箱 Play 增强版(L05C),将会导致 MiGPT 部分功能异常,无法使用连续对话等,此时需要关闭 streamResponse。相关 issue

可以正常运行 MiGPT,但不支持连续对话的小爱音箱型号有:

名称

型号

ttsCommand

wakeUpCommand

playingCommand

streamResponse

反馈来源

小爱音箱

L06A

[5, 1]

[5, 2]

-

false

@zhanglc

小爱音箱 Play

L05B

[5, 3]

[5, 1]

-

false

@BiuBiu2323

小米小爱音箱 Play 增强版

L05C

[5, 3]

[5, 1]

-

false

@lyddias

Xiaomi 智能家庭屏 6

X6A

[7, 3]

[7, 1]

-

false

@Hongwing

Redmi 小爱触屏音箱 Pro 8 英寸

X08E

[7, 3]

[7, 1]

-

false

@shangjiyu

小爱音箱 Art

L09A

[3, 1]

[3, 2]

-

false

@zwsn

小爱触屏音箱

LX04

[5, 1]

[5, 2]

-

false

@ilovesouthpark

❌ 不支持

完全不支持 MiGPT 的小爱音箱型号有:

名称

型号

反馈来源

小米小爱音箱 HD

SM4

@romantech

小米小爱蓝牙音箱随身版

-

微信: 明天

🔥 型号分享

如果你是其他型号的小爱音箱,欢迎把你的型号和配置参数分享给大家,分享格式如下:

  • 名称:小爱音箱 Pro
  • 型号:LX06
  • ttsCommand:[5, 1]
  • wakeUpCommand:[5, 3]
  • playingCommand:未设置
  • streamResponse:true(支持连续对话)

环境配置

  • Python 3.8以上的版本 ( https://www.python.org/)
  • nodeJS (https://nodejs.org/zh-cn)

准备小米音箱

查看小米音箱绑定的名称

我的就是小爱音箱mini

查看小米音箱的型号

我的型号是LX01

查看小米账号

小爱音箱 APP-->我-->点击头像-->查看小米账号-->我的是 167857068

综上得到小米音箱的名称,型号,小米账号

申请大模型的API接口

注册silicon

silicon注册和使用地址: https://cloud.siliconflow.cn/i/bp8xtUdh

邀请码:bp8xtUdh(谢谢支持)

新建API密钥

注册登录后,单击左边栏的API密钥,单击新建API密钥

点击密钥即可复制

我们可以调用千问2.5的这个模型,满足日常对话完全没有问题,并且是免费调用的

mi-gpt项目

下载 mi-gpt 项目

代码语言:javascript
复制
git clone https://github.com/idootop/mi-gpt.git

创建配置文件

代码语言:javascript
复制
cd mi-gpt
mv .env.example .env         
mv .migpt.example.js .migpt.js 

配置.env 文件

代码语言:javascript
复制
OPENAI_MODEL = Qwen/Qwen2.5-7B-Instruct  #这个免费
OPENAI_API_KEY= sk-xxxxxxxx   # 这里填写第三步中申请的API密钥即可
OPENAI_BASE_URL= https://api.siliconflow.cn/v1

配置.migpt.js文件

修改小米账号ID,密码,设备名称,在93行

代码语言:javascript
复制
// 小米 ID
userId: "167857068", // 注意:不是手机号或邮箱,请在「个人信息」-「小米 ID」查看
// 小米账号密码
password: "123456",
// 小爱音箱 DID 或在米家中设置的名称
did: "小爱音箱mini", // 注意空格、大小写和错别字(音响 👉 音箱)

修改MIoT设备指令,在127行,具体值看开头表格

代码语言:javascript
复制
// TTS 指令,请到 https://home.miot-spec.com 查询具体指令
ttsCommand: [5, 1],
// 设备唤醒指令,请到 https://home.miot-spec.com 查询具体指令
wakeUpCommand: [5, 2],
// 查询是否在播放中指令,请到 https://home.miot-spec.com 查询具体指令
playingCommand: [4, 1, 1], // 默认无需配置此参数,查询播放状态异常时再尝试开启

修改人设,第4-16行,人物提示词,可以先跑通再改

代码语言:javascript
复制
// 小爱音箱扮演角色的简介
const botProfile = `
性别:女
性格:乖巧可爱
爱好:喜欢搞怪,爱吃醋,爱撒娇,喜欢思考哲学问题,很爱干净,特别喜欢挑逗老公。
`.trim();

// 小爱音箱主人(你)的简介
const masterProfile = `
性别:男
性格:善良正直
其他:是个程序员,总是舍己为人,是小丽丽的老公。
`.trim();

回复唤醒指令,更改姓名 ,第104-119行,,让名字一致,可以先跑通再改

代码语言:javascript
复制
// 当消息以下面的关键词开头时,会调用 AI 来回复消息
 callAIKeywords: ["请", "你", "小丽丽"],
 // 当消息以下面的关键词开头时,会进入 AI 唤醒状态
 wakeUpKeywords: ["打开", "进入", "召唤"],
 // 当消息以下面的关键词开头时,会退出 AI 唤醒状态
 exitKeywords: ["关闭", "退出", "再见"],
 // 进入 AI 模式的欢迎语
 onEnterAI: ["我是小丽丽,又见到老公啦,太开心了"], // 设为空数组时可关闭提示语
 // 退出 AI 模式的提示语
 onExitAI: ["小丽丽先回去咯"], // 为空时可关闭提示语
 // AI 开始回答时的提示语
 onAIAsking: [], // 为空时可关闭提示语
 // AI 结束回答时的提示语
 onAIReplied: [], // 为空时可关闭提示语
 // AI 回答异常时的提示语
 onAIError: ["啊哦,出错了,请稍后再试吧!"], // 为空时可关闭提示语

打开连续对话功能,第149-156行,是否支持请根据官方文档自行判断

代码语言:javascript
复制
 // 是否启用连续对话功能,部分小爱音箱型号无法查询到正确的播放状态,需要关闭连续对话
 streamResponse: true,
 // 连续对话时,无响应多久后自动退出
 exitKeepAliveAfter: 30, // 默认 30 秒,建议不要超过 1 分钟
 // 连续对话时,下发 TTS 指令多长时间后开始检测设备播放状态(默认 3 秒)
 checkTTSStatusAfter: 3, // 当小爱长文本回复被过早中断时,可尝试调大该值
 // 连续对话时,播放状态检测间隔(单位毫秒,最低 500 毫秒,默认 1 秒)
 checkInterval: 1000, // 调小此值可以降低小爱回复之间的停顿感,请酌情调节

这里一般只需要把连续对话功能改为true或false,如果设备支持可以改为true

安装依赖并运行

代码语言:javascript
复制
pnpm install
pnpm build

本文由 小马哥 创作,采用 知识共享署名4.0 国际许可协议进行许可 本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-10-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 🔊 支持的小爱音箱型号
    • ✅ 完美运行
      • 🚗 正常运行
        • ❌ 不支持
          • 🔥 型号分享
          • 环境配置
          • 准备小米音箱
            • 查看小米音箱绑定的名称
              • 查看小米音箱的型号
                • 查看小米账号
                • 申请大模型的API接口
                  • 注册silicon
                    • 新建API密钥
                    • mi-gpt项目
                      • 下载 mi-gpt 项目
                        • 创建配置文件
                          • 配置.env 文件
                            • 配置.migpt.js文件
                              • 安装依赖并运行
                              领券
                              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档