MiGPT:将小爱音箱接入 ChatGPT 和豆包,改造成你的专属语音助手!

网络整理 2024-06-12 11:38:57新闻资讯
1350

MiGPT,一个创新的开源项目,通过融合小爱音箱、米家智能设备与ChatGPT的卓越理解能力,为用户带来了一个更加智能化、个性化的居住环境。

MiGPT的核心理念是打造一个能够理解用户需求、富有情感、并与用户共同成长的智能家居生态系统。在MiGPT的驱动下,家中的每一个智能设备,如灯泡、插座、扫地机器人、电视等,都将成为独立的智能体(Agent),它们不仅能够智能响应用户的指令,还能相互协作,形成一个强大的智能家居网络。

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

MiGPT.jpg

项目亮点:

  • AI问答:接入大模型的小爱音箱,能够提供丰富的信息和知识,从日常咨询到专业知识,应有尽有。

  • 角色扮演:小爱音箱可以根据用户的设定,扮演不同角色,提供更丰富的互动体验。

  • 流式响应:快速响应用户需求,提供即时反馈,让用户体验到流畅的交互体验。

  • 长短期记忆:记录用户习惯和偏好,通过持续学习,提供更加个性化的服务。

  • 自定义TTS:提供语音定制功能,用户可以根据自己的喜好,定制音箱的语音风格。

  • 智能家居Agent:智能感知用户情绪,自动调节家居环境,提升居住舒适度。

配置参数

.migpt.js

重命名本项目根目录下的.migpt.example.js文件为.migpt.js。

然后,将里面的配置参数修改成你自己的,参数含义如下:

参数名称 描述 示例
bot    
name 对方名称(小爱音箱) "傻妞"
profile 对方的个人简介/人设 "性别女,性格乖巧可爱,喜欢搞怪,爱吃醋。"
master    
name 主人名称(我自己) "陆小千"
profile 主人的个人简介/人设 "性别男,善良正直,总是舍己为人,是傻妞的主人。"
room    
name 会话群名称 "魔幻手机"
description 会话群简介 "傻妞和陆小千的私聊"
speaker    
userId小米 ID(注意:不是手机号或邮箱) "987654321"
password 账户密码 "123456"
did 小爱音箱 ID 或名称 "小爱音箱 Pro"
ttsCommand 小爱音箱 TTS 指令(可在此查询 [5, 1]
wakeUpCommand 小爱音箱唤醒指令(可在此查询 [5, 3]
speaker 其他参数(可选)    
callAIKeywords 当消息以关键词开头时,会调用 AI 来响应用户消息 ["请", "傻妞"]
wakeUpKeywords 当消息以关键词开头时,会进入 AI 唤醒状态 ["召唤傻妞", "打开傻妞"]
exitKeywords 当消息以关键词开头时,会退出 AI 唤醒状态 ["退出傻妞", "关闭傻妞"]
onEnterAI 进入 AI 模式的欢迎语 ["你好,我是傻妞,很高兴认识你"]
onExitAI 退出 AI 模式的提示语 ["傻妞已退出"]
onAIAsking AI 开始回答时的提示语 ["让我先想想", "请稍等"]
onAIReplied AI 结束回答时的提示语 ["我说完了", "还有其他问题吗"]
onAIError AI 回答异常时的提示语 ["出错了,请稍后再试吧!"]
playingCommand 查询小爱音箱是否在播放中指令(注意:默认无需配置此参数,播放出现问题时再尝试开启) [3, 1, 1]
streamResponse 是否启用流式响应(部分小爱音箱型号不支持查询播放状态,此时需要关闭流式响应) true
exitKeepAliveAfter 无响应一段时间后,多久自动退出唤醒模式(单位秒,默认 30 秒) 30

环境变量

重命名本项目根目录下的.env.example文件为.env。

然后,将里面的环境变量修改成你自己的,参数含义如下:

环境变量名称 描述 示例
OpenAI    
OPENAI_API_KEY OpenAI API 密钥 abc123
OPENAI_MODEL 使用的 OpenAI 模型 gpt-4o
OPENAI_BASE_URL 可选,OpenAI API BaseURL https://api.openai.com/v1
AZURE_OPENAI_API_KEY 可选,Microsoft Azure OpenAI abc123
提示音效(可选)    
AUDIO_SILENT 静音音频链接 "https://example.com/slient.wav"
AUDIO_BEEP 默认提示音链接 "https://example.com/beep.wav"
AUDIO_ACTIVE 唤醒提示音链接 "https://example.com/active.wav"
AUDIO_ERROR 出错提示音链接 "https://example.com/error.wav"
豆包 TTS(可选)    
TTS_DOUBAO 豆包 TTS 接口 "https://example.com/tts.wav"
SPEAKERS_DOUBAO 豆包 TTS 音色列表接口 "https://example.com/tts-speakers"

部署方法

MiGPT提供了Docker和Node.js两种启动方式,适应不同用户的需求。无论是希望通过Docker快速部署,还是利用Node.js进行前端开发,MiGPT都提供了简便的启动指南和详细的参数配置说明。

Docker部署

对于电脑小白或者不想自己配置代码运行环境(Node)的同学,可以使用 Docker 启动方式。用户只需根据参数设置说明配置好.env和.migpt.js文件,然后通过命令启动MiGPT服务。

docker run --env-file $(pwd)/.env -v $(pwd)/.migpt.js:/app/.migpt.js idootop/mi-gpt:latest

注意:在 Windows 终端下需要将配置文件路径 $(pwd) 替换为绝对路径

Node.js开发

对于开发者而言,可以通过NPM安装MiGPT,并通过提供的示例代码快速创建并启动MiGPT实例。

npm install mi-gpt # 安装依赖

然后,创建并启动 MiGPT 实例。初始化参数的具体说明请到  参数设置 查看。

注意:此模式下并不会主动读取 .env 和 .migpt.js 中的配置信息,你需要手动初始化 Node 环境变量,并将 .migpt.js 中的参数作为 MiGPT.create 的初始化参数传入。

本地开发

MiGPT也支持本地开发和调试,提供了详细的本地开发教程,包括项目初始化、依赖安装、构建项目。

如果你想要修改代码,本地调试开发 MiGPT 可以参考以下教程。

1、初始化

# 克隆项目到本地
git clone https://github.com/idootop/mi-gpt.git
cd mi-gpt

# 安装依赖
pnpm install

# 构建项目
pnpm build

然后按照 参数设置 教程,配置好你的 .env 和 .migpt.js 文件。

2、运行

有两种运行方式:VS Code Debug 或 NPM Script:

  • NPM Script: 配置好 .env 和 .migpt.js 后直接使用 pnpm run dev 启动 MiGPT。

  • VScode Debug:使用 VS Code 打开项目根目录,然后按 F5 开始调试 MiGPT。注意,启动前请在 tests/migpt.ts 文件中配置 MiGPT 相关参数。

本项目默认在 Node 20 中运行,如果你的 Node 版本过低可能无法正常启动本项目。

3、构建 Docker 镜像

此项目默认支持 linux/amd64, linux/arm64 和 linux/arm32/v7,可使用以下命令构建指定平台的镜像:

docker build --platform linux/arm/v7 -t mi-gpt .

运行构建后的 docker

docker run --env-file $(pwd)/.env -v $(pwd)/.migpt.js:/app/.migpt.js mi-gpt

常见问题

MiGPT项目文档中还包含了常见问题解答,帮助用户解决在使用过程中可能遇到的问题,如本地数据库重建、Mi Service初始化失败等。具体可查看:常见问题解答

MiGPT项目不仅仅是技术上的突破,更是对智能家居理念的一次革新。随着项目的不断发展和完善,我们有理由相信,MiGPT将为用户带来更加智能化、个性化的居住体验,让家成为真正的数字生活中心。

MiGPT 小爱音箱 ChatGPT
THE END
zhanid
勇气也许不能所向披靡,但胆怯根本无济于事

相关推荐

ChatGPT是什么意思?ChatGPT和Midjourney有什么区别?
在人工智能领域,ChatGPT和Midjourney是两款备受瞩目的工具,但它们的定位和功能截然不同。ChatGPT是文本生成的代表,而Midjourney则是图像创作的先锋。本文ZHANID工具网将详...
2025-05-13 电脑知识
255

AI写作工具实测:自媒体人真的会被ChatGPT取代吗?
当ChatGPT以“文思泉涌”的姿态闯入大众视野,自媒体行业掀起了一场关于“饭碗危机”的讨论。有人惊叹AI日更万字的能力,也有人嘲讽它生成的内容“像机器人写情书”。经过对C...
2025-04-30 自媒体
347

ChatGPT智能编程:如何借助AI自动生成代码注释和调试?
在软件开发的道路上,编写清晰的代码注释和高效Debug是每位开发者的必修课。随着人工智能技术的发展,ChatGPT这类强大的语言模型为我们提供了新的学习和工作方式。本文将详细...
2025-04-16 编程技术
288

不会写文案?教你用ChatGPT+5118批量生产爆款标题(附提示词模板)
在信息爆炸的时代,一个吸引人的标题往往能决定一篇文案的命运。然而,许多人在撰写文案时常常陷入标题创作的困境,无法快速生成既吸引人眼球又与内容高度相关的爆款标题。本...
2025-04-15 自媒体
417

AI写作工具清单:自媒体人如何用ChatGPT实现日更30条爆款
随着人工智能技术的不断发展,AI写作工具如ChatGPT等已经逐渐成为自媒体人提升创作效率和质量的重要助手。本文ZHANID工具网将详细介绍一系列AI写作工具,并重点探讨自媒体人如...
2025-03-27 自媒体
347

OpenAI计划将Sora视频生成工具集成到ChatGPT中
OpenAI领导团队周五在Discord办公时间会议上宣布,公司计划最终将其AI视频生成工具Sora直接集成到流行的ChatGPT应用程序中,进一步扩展其AI创作生态系统。OpenAI的Sora产品负...
2025-03-03 新闻资讯
230