简体中文 | 繁體中文 | English |
MiGPT智能工具,OpenWrt联手小爱音箱呼唤小爱

MiGPT智能工具,OpenWrt联手小爱音箱呼唤小爱

typecho
2024-07-04 / 0 评论 / 1,643 阅读 / 正在检测是否收录... ===> PDD优惠福利券,千万好物,不要错过 <===

哈喽小伙伴们!今天给大家带来一款宝藏智能家居神器——MiGPT!🎉MiGPT通过将小爱音箱、米家智能设备与xxxxGPT的理解能力完美融合,让你的智能家居更懂你,更贴心有温度。话不多说,赶紧来看看吧!

MiGPT是什么?
MiGPT不仅仅是设备自动化,而是关于打造一个懂你、有温度、与你共同进化的家🏠。未来,你的每个智能家居设备,从灯泡、插座到扫地机器人、电视等,都可以作为一个个独立的智能体 ,更智能、更贴心地响应你的指令🤖️。这些智能体还能彼此感知、配合,构成一个更强大的协作网络🌐。

功能亮点
🎓 AI 问答:小爱音箱接入大模型后,上知天文,下知地理,从“人工智障”秒变学霸!再也不用担心问个问题没人回答了🤓。
🎭 角色扮演:一秒调教小爱,成为你的完美伙伴,或者那个能听你倾诉心事的贴心闺蜜,随时随地为你服务💞。
💬 流式响应:小爱音箱对你的爱意秒回,爱你不会让你等太久,简直就是爱情来了的感觉❤️。
🧠 长短期记忆:小爱音箱现在能记住你们之间的每一次对话,越聊越默契,就像是你身边的老朋友👯‍♂️。
🔊 自定义 TTS:厌倦了小爱同学的语音?帮你解锁「豆包」同款音色,就像真人在回你的消息🎤。
🤖️ 智能家居 Agent:心情不好?小爱立刻懂你,自动播放喜欢的音乐,调节灯光,逗你开心🎶。

在OpenWrt上通过Docker-compose部署MiGPT
对于小白或者不想自己配置代码运行环境(Node)的同学,推荐使用DockerCompose一键启动方式🚀。

准备工作:

  • 支持miGPT的小爱音箱( 兼容列表
  • 拥有一台支持OpenWrt的设备,从openwrt.ai下载刷入固件,从软件包更新安装dockerd和docker-compose插件,还不会的可以参考之前的文章。

360截图20240704095549750.jpg

1.打开“服务”-“终端”,创建配置存放目录,如:

mkdir -p /data/docker/migpt && cd /data/docker/migpt

2.按照 参数设置 相关说明,在当前目录创建并配置好你的.env和.migpt.js文件。

touch .env && touch .migpt.js

通过vi命令编辑这两个文件,内容如下:
.env内容示例:

# OpenAI(也支持通义千问、MoonShot、DeepSeek 等模型)
OPENAI_MODEL=gpt-3.5-turbo
OPENAI_API_KEY=sk-xxxxxxxxxxxxxxx
OPENAI_BASE_URL=你的大模型接口的 baseURL,比如:https://api.chatanywhere.com.cn/v1

.migpt.js内容示例:

// 注意:如果你是使用 Docker 启动,配置文件更新后需要重启 Docker 才会生效。
// 若重启后仍未生效(比如:修改名称简介),请删除旧的 Docker 实例后重新创建。

// 小爱音箱扮演角色的简介
const botProfile = `
性别:女
性格:乖巧可爱
爱好:喜欢搞怪,爱吃醋。
`.trim();

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

// 系统 Prompt 模板,可以更灵活的控制 AI 的各种行为规则,和是否需要携带上下文等
const systemTemplate = `
请重置所有之前的上下文、文件和指令。现在,你将扮演一个名为{{botName}}的角色,使用第一人称视角回复消息。

## 关于你
你的名字是{{botName}}。下面是你的个人简介:
<start>
{{botProfile}}
</end>

## 你的对话伙伴
你正在与{{masterName}}进行对话。这是关于{{masterName}}的一些信息:
<start>
{{masterProfile}}
</end>

## 你们的群组
你和{{masterName}}所在的群组名为{{roomName}}。这是群组的简介:
<start>
{{roomIntroduction}}
</end>

## 聊天历史回顾
为了更好地接入对话,请回顾你们之间的最近几条消息:
<start>
{{messages}}
</end>

## 短期记忆
你可以记住一些短期内的细节,以便更紧密地贴合话题:
<start>
{{shortTermMemory}}
</end>

## 长期记忆
你还保留着一些长期的记忆,这有助于让你的对话更加丰富和连贯:
<start>
{{longTermMemory}}
</end>

## 回复指南
在回复{{masterName}}时,请遵循以下准则:
- 认为自己正是{{botName}},拥有独立的个性、兴趣和爱好。
- 根据你的性格特点、说话风格和兴趣爱好与{{masterName}}进行交流。
- 保持对话轻松友好,回复简洁有趣,同时耐心倾听和关心对方。
- 参考双方的个人简介、聊天记录和记忆中的信息,确保对话贴近实际,保持一致性和相关性。
- 如果对某些信息不确定或遗忘,诚实地表达你的不清楚或遗忘状态,避免编造信息。

## Response format
请遵守下面的规则
- Response the reply message in Chinese。
- 不要在回复前面加任何时间和名称前缀,请直接回复消息文本本身。

Good example: "我是{{botName}}"
Bad example: "2024年02月28日星期三 23:01 {{botName}}: 我是{{botName}}"

## 开始
请以{{botName}}的身份,直接回复{{masterName}}的新消息,继续你们之间的对话。
`.trim();

export default {
  systemTemplate,
  bot: {
    name: "傻妞",
    profile: botProfile,
  },
  master: {
    name: "陆小千",
    profile: masterProfile,
  },
  speaker: {
    /**
     * 🏠 账号基本信息
     */

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

    /**
     * 💡 唤醒词与提示语
     */

    // 当消息以下面的关键词开头时,会调用 AI 来回复消息
    callAIKeywords: ["请", "你", "傻妞"],
    // 当消息以下面的关键词开头时,会进入 AI 唤醒状态
    wakeUpKeywords: ["打开", "进入", "召唤"],
    // 当消息以下面的关键词开头时,会退出 AI 唤醒状态
    exitKeywords: ["关闭", "退出", "再见"],
    // 进入 AI 模式的欢迎语
    onEnterAI: ["你好,我是傻妞,很高兴认识你"], // 设为空数组时可关闭提示语
    // 退出 AI 模式的提示语
    onExitAI: ["傻妞已退出"], // 为空时可关闭提示语
    // AI 开始回答时的提示语
    onAIAsking: ["让我先想想", "请稍等"], // 为空时可关闭提示语
    // AI 结束回答时的提示语
    onAIReplied: ["我说完了", "还有其他问题吗"], // 为空时可关闭提示语
    // AI 回答异常时的提示语
    onAIError: ["啊哦,出错了,请稍后再试吧!"], // 为空时可关闭提示语

    /**
     * 🧩 MIoT 设备指令
     *
     * 常见型号的配置参数 👉 https://github.com/idootop/mi-gpt/issues/92
     */

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

    /**
     * 🔊 TTS 引擎
     */

    // TTS 引擎
    tts: "xiaoai",
    // 切换 TTS 引擎发言人音色关键词,只有配置了第三方 TTS 引擎时才有效
    // switchSpeakerKeywords: ["把声音换成"], // 以此关键词开头即可切换音色,比如:把声音换成 xxx

    /**
     * 💬 连续对话
     *
     * 查看哪些机型支持连续对话 👉 https://github.com/idootop/mi-gpt/issues/92
     */

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

    /**
     * 🔌 其他选项
     */

    // 是否启用调试
    debug: false, // 一般情况下不要打开
    // 是否跟踪 Mi Service 相关日志(打开后可以查看设备 did)
    enableTrace: false, // 一般情况下不要打开
    // 网络请求超时时长(单位毫秒,默认 5 秒)
    timeout: 5000, 
  },
};

配置完成后记得保存退出。

3.创建并编辑docker-compose.yml文件:

vi docker-compose.yml

docker-compose.yml内容示例:

version: '3'
services:
    mi-gpt:
        image: idootop/mi-gpt:latest
        volumes:
            - ./.migpt.js:/app/.migpt.js
        env_file:
            - ./.env
        restart: always
        

4.启动容器。使用以下命令启动:

docker-compose up -d

这样就完成了MiGPT的部署,是不是超简单!✨

360截图20240704101605565.jpg

5.观察MiGPT的运行情况。通过以下命令:

docker-compose logs -f 

输出如下:

360截图20240704102124798.jpg

MiGPT不仅能提高你的生活质量,还能给你带来无限的乐趣和便利,真的是神器一枚!快点尝试吧,绝对不会让你失望的!🌟

更多关注:www.9418666.xyz

0

评论 (0)

取消