【教程】让小爱音箱Play增强版接入Mi-GPT

转载请注明出处:小锋学长生活大爆炸[xfxuezhagn.cn]

如果本文帮助到了你,欢迎[点赞、收藏、关注]哦~


项目地址:https://github.com/idootop/mi-gpt

MiIOT:小米小爱音箱Play 增强版 - 产品规格 - Xiaomi Miot Spec

实现效果图:

1、安装pnpm

sudo apt-get install -y nodejs
sudo npm install -g pnpm@latest

2、下载工程源码

git clone https://kkgithub.com/idootop/mi-gpt.git

3、修改配置文件

  • 把 .migpt.example.js 改为 .migpt.js
  • 把 .env.example 改为 .env

        在 .env.json 中填写OpenAI Key:

OPENAI_MODEL=gpt-3.5-turbo
OPENAI_API_KEY=sk-SOxxxx
# 注意URL后面不需要带 chat/completions
OPENAI_BASE_URL=xxxxxx

        在 .migpt.js中填写小米ID等信息:

speaker: {// 小米 ID// 注意这里改成你的!!!userId: "xxxx", // 注意:不是手机号或邮箱,请在「个人信息」-「小米 ID」查看// 账号密码// 注意这里改成你的!!!password: "xxxx",// 小爱音箱 ID 或在米家中设置的名称did: "小爱音箱Play增强版",// 当消息以下面的关键词开头时,会调用 AI 来回复消息callAIKeywords: ["请", "你", "傻妞"],// 当消息以下面的关键词开头时,会进入 AI 唤醒状态wakeUpKeywords: ["打开", "进入", "召唤"],// 当消息以下面的关键词开头时,会退出 AI 唤醒状态exitKeywords: ["关闭", "退出", "再见"],// 进入 AI 模式的欢迎语onEnterAI: ["你好,我是傻妞,很高兴认识你"],// 退出 AI 模式的提示语onExitAI: ["傻妞已退出"],// AI 开始回答时的提示语onAIAsking: ["让我先想想", "请稍等"],// AI 结束回答时的提示语onAIReplied: ["我说完了", "还有其他问题吗"],// AI 回答异常时的提示语onAIError: ["啊哦,出错了,请稍后再试吧!"],// 无响应一段时间后,多久自动退出唤醒模式(默认 30 秒)exitKeepAliveAfter: 30,// TTS 指令,https://home.miot-spec.com/spec/xiaomi.wifispeaker.l05c// 注意改成这个!!!ttsCommand: [5, 3],// 设备唤醒指令,https://home.miot-spec.com/spec/xiaomi.wifispeaker.l05c// 注意改成这个!!!wakeUpCommand: [5, 1],// 是否启用流式响应,部分小爱音箱型号不支持查询播放状态,此时需要关闭流式响应// 注意不要开启!!!streamResponse: false,// 查询是否在播放中指令// 注意不要开启!!!// playingCommand: [3, 1, 1],},

4、编译项目

cd mi-gpt
pnpm install && pnpm build

5、启动项目

node --env-file=.env app.js

        保持程序运行,可参考使用nohop或者screen。

6、用法(语音命令顺序):

  • 小爱同学
  • 你 在干什么
  • 小爱同学
  • 召唤傻妞

7、注意事项:

  • Windows上运行可能会有点问题。
  • Docker需要魔法,反正我是一直没pull下来。
  • 小爱同学会抢答一两个字,属于正常情况,刷机可解决这个问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/25044.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据库(27)——多表查询——自连接

语法 SELECT 字段列表 FROM 表A 别名A JOIN 表A 别名B ON 条件...; 自连接可以是内连接查询也可以是外连接查询。 演示 我新增了字段friend便于演示 查询所有人的名字以及他们的friend的人的名字: select a.name,b.name from user a,user b where a.friendb.id; 其…

【数据结构】查找(顺序查找、二分查找、索引顺序查找、二叉排序树、平衡排序树、B树、B+树、哈希表)

目录 数据结构——查找何为查找1. 查找表2. 关键字3. 查找方法效果评价指标——平均查找长度ASL(Average Search Length) 静态查找表1.顺序查找2.二分查找二分查找判定树 3.静态查找表—索引顺序表的查找索引顺序查找表的算法原理: 动态查找树表1. 二叉排序树2. 二叉…

06 Linux 设备驱动模型

1、Overview Linux-2.6 引入的新的设备管理机制 - kobject 降低设备多样性带来的 Linux 驱动开发的复杂度,以及设备热拔插处理、电源管理等将硬件设备归纳、分类,然后抽象出一套标准的数据结构和接口驱动的开发,就简化为对内核所规定的数据结构的填充和实现驱动模型是 Linu…

Go微服务: 分布式之通过本地消息实现最终一致性和最大努力通知方案

通过本地消息实现最终一致性 1 )概述 我们的业务场景是可以允许我们一段时间有不一致的消息的状态的,并没有说必须特别高的这个消息的一致性比如说在TCC这个架构中,如果采用了消息的最终一致性,整体架构设计要轻松好多即便我们库…

获取东方财富网股票的实时数据股票的数据,并保存到Excel文件中

可以运行python文件获取东方财富网:【序号,代码,名称,最新价,涨跌幅,涨跌额,成交量,成交额,振幅,最高,最低,今开,昨收,量比,换手率,市盈率-动态,市净率,总市值,流通市值,涨速,5分钟涨跌,60日涨跌幅,年初至今涨跌幅,】数据,保存到Excel文件中。 import pandas as pd import re…

公司面试题总结(二)

7. 说说 JavaScript 中的数据类型?存储上的差别? • 基本类型: o Number o String o Boolean o Undefined o null o symbol • 引用类型 o Object o Array o Function • 声明变量时不同的内存地址分配: o 简单类型的…

嵌入式Linux系统编程 — 3.3 chown、fchown 和 lchown 函数更改文件属主

目录 1 文件属主 1.1 文件属主概念 1.2 如何查看文件属主 1.3 有效用户 ID 和有效组 ID 2 chown 函数 2.1 chown命令 2.2 chown函数 2.3 getuid 和 getgid函数 3 fchown函数 3.1 fchown函数简介 3.2 示例代码 4 lchown函数 1 文件属主 1.1 文件属主概念 Linux…

tkinter颜色选择器

tkinter颜色选择器 颜色选择器效果代码 颜色选择器 Tkinter 提供了一个简单易用的颜色选择器模块 colorchooser,通过调用 colorchooser.askcolor() 方法,我们可以轻松实现颜色选择功能。 效果 代码 import tkinter as tk from tkinter import colorch…

angularJS资料

return home 目录结构 文章目录 [toc]angular4工作angular2下arcgis开发angular2相关资料BootstrapJavaScriptJavaScript视频教程 TypeScriptHTML CSS菜鸟教程 http://www.runoob.com/手册网 http://www.shouce.ren/w3school http://www.w3school.com.cn/ angular4 angular-CLI…

CSS函数: translate、translate3d的使用

translate()和translate3d()函数可以实现元素在指定轴的平移的功能。函数使用在CSS转换属性transform的属性值。实现转换的函数类型有: translate():2D平面实现X轴、Y轴的平移translate3d():3D空间实现位置的平移translateX():实…

LLVM Cpu0 新后端4

想好好熟悉一下llvm开发一个新后端都要干什么,于是参考了老师的系列文章: LLVM 后端实践笔记 代码在这里(还没来得及准备,先用网盘暂存一下): 链接: https://pan.baidu.com/s/1V_tZkt9uvxo5bnUufhMQ_Q?…

向量数据库是什么?

向量数据库是什么? 随着人工智能和机器学习技术的迅猛发展,向量数据库作为一种新型数据库引起了广泛关注。向量数据库专门用于存储和查询高维向量数据,是在大规模数据检索和相似性搜索领域的重要工具。 向量数据库的定义 向量数据库是一种…

#09 Stable Diffusion动画制作入门

文章目录 前言1. 理解Stable Diffusion2. 动画制作的基本概念3. 准备阶段3.1 设计文本提示3.2 选择参数 4. 制作过程4.1 生成图像序列4.2 合成动画 5. 后期处理5.1 调色和特效5.2 输出格式 6. 最佳实践结论 前言 随着AI技术的飞速发展,Stable Diffusion作为一种先进…

定时清理Linux服务器缓存shell脚本

服务器内存占用过高,如何定时清理一下服务器内存呢?写一个清理缓存脚本,加入到定时任务中。 一、编写脚本 clear_cache.sh 脚本,放到home目录下。 #!/bin/bash# 清除页面缓存、目录项和 inode 缓存 sudo sync echo 3 | sudo tee /proc/sys/vm/drop_caches# 记录执行时间到日…

为下一波创新做准备:人工智能和元宇宙

人工智能和元宇宙的发展带来了独特的可能性和挑战。随着这些技术的发展,我们进入了一个沉浸式虚拟体验和智能系统的时代,我们正站在一个历史性的时刻。为迎接下一波创新,采取必要的措施是很重要的。 我们正在见证两项变革性技术的激动人心的发…

qt中网络编程关于QNetworkReply导致崩溃

现场项目上线之后,使用中总是闪退,release版本exe不好查找问题,困扰了我好几天,最后发现导致问题的可能点是:由于请求的网址都是一样的,只是请求数据不一样,所以只使用了一个reply,即…

数据赋能(113)——体系:监控数据采集——实施过程、应用特点

实施过程 监控数据采集的实施过程通常包括以下步骤: 明确监控目标:需要明确监控数据的采集目标,包括需要监控哪些数据、监控的目的以及预期的监控效果。确定监控数据源:确定监控数据来源,这包括各种数据库、网络设备…

WebSocket前端分页:技术深度、实践困境与未来展望

WebSocket前端分页:技术深度、实践困境与未来展望 在前端开发的广阔领域中,WebSocket前端分页技术以其独特的优势逐渐崭露头角。它不仅为开发者带来了全新的交互体验,也为用户带来了更加流畅和高效的信息获取方式。然而,这一技术…

以sqlilabs靶场为例,讲解SQL注入攻击原理【54-65关】

【Less-54】 与前面的题目不同是,这里只能提交10次,一旦提交超过十次,数据会重新刷新,所有的步骤需要重来一次。 解题步骤: 根据测试,使用的是单引号闭合。 # 判断字段的数量 ?id1 order by 3 -- aaa# …

WPF视频学习-基础知识篇

1.简介WPF: C# 一套关于windows界面应用开发框架 2.WPF和winform的差别 ,(WPF比较新) 创建新项目使用模板: WPF使用.xaml后缀,双击可查看操作界面和设置代码,其文件展开之后中有MainWindow.xaml.cs为程序交互逻辑。…