ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

5 分钟把小爱音箱接入大模型:MiGPT 实操配置指南

5 分钟把小爱音箱接入大模型:MiGPT 实操配置指南 5 分钟把小爱音箱接入大模型MiGPT 实操配置指南【免费下载链接】mi-gpt 将小爱音箱接入 ChatGPT 和豆包改造成你的专属语音助手。项目地址: https://gitcode.com/GitHub_Trending/mi/mi-gpt小爱同学请讲个笑话。音箱停顿两秒用你设定的那个角色语气开口——不是小爱同学自己的声线也不是小爱同学自己的答案。这就是 MiGPT 完成后的日常一个通过小米 MIoT 协议把小爱音箱接入大语言模型、改造成 AI 语音助手的服务。保留小爱音箱作为入口和喇叭把回答换成 OpenAI 兼容模型的输出支持流式回复和自定义音色。本文按先跑通、再调性的顺序讲5 分钟内让音箱开口之后是配置详解、换大脑换音色以及排错速查。01 环境清单与准备工作硬件与运行环境要求如下项目要求音箱小爱音箱推荐小爱音箱 Pro官方反馈最完整其他兼容型号见 docs/compatibility.md运行环境Node.js 16.0 及以上账号小米账号 ID 与密码注意不是手机号也不是邮箱网络音箱与运行 MiGPT 的设备处于同一局域网小度音箱、天猫精灵、HomePod 不在支持范围内官方也无相关适配计划。拉取代码并安装依赖git clone https://gitcode.com/GitHub_Trending/mi/mi-gpt cd mi-gpt pnpm install安装完成即自动初始化本地数据库postinstall触发 Prisma 迁移无需额外建库。然后把两个示例配置复制成正式配置cp .migpt.example.js .migpt.js cp .env.example .env接下来的工作就是分别编辑这两个文件。02 配置音箱.migpt.js 关键项小米 ID 在哪找打开小米账号官网的「个人信息」或在米家 App 中查看自己的「小米 ID」。它是一串纯数字账号 ID直接填入.migpt.js。.migpt.js中必须确认的四项字段作用填什么speaker.userId小米账号 ID一串数字不是手机号或邮箱speaker.password小米账号密码明文填入speaker.did指定音箱设备音箱的 DID 或米家中设置的名称空格、大小写、错别字都会匹配失败speaker.ttsCommand/wakeUpCommand朗读与唤醒的 MIoT 指令按机型填写小爱音箱 ProLX06为[5, 1]/[5, 3]ttsCommand、wakeUpCommand与机型绑定其他型号去 MIoT 规格站或 docs/compatibility.md 查对应值示例文件里保留的 Pro 默认值不能照抄。03 配置模型.env 关键项.env决定大脑来自哪里只有三个必填项OPENAI_BASE_URLhttps://api.openai.com/v1 # 大模型服务接口一般以 /v1 结尾 OPENAI_MODELgpt-4o-mini # 使用的模型名 OPENAI_API_KEYsk-proj-xxxxxxxx # 模型服务商的 API 密钥变量名以OPENAI_开头不代表只能接 OpenAI任何 OpenAI 兼容接口改这三个值即可通义千问、DeepSeek、MoonshotKimi等都可以直接接接法见 docs/faq.md。不兼容 OpenAI 协议的模型如豆包、文心一言需要用 One API、simple-one-api 之类的聚合工具转成 OpenAI 兼容格式后再接入。04 启动验证跑通最小路径启动服务pnpm start看到MiGPT v4.2.0版本行、Speaker服务就绪且没有登录报错即为启动成功。验证方式按顺序试三种单轮提问说小爱同学请讲个笑话。以callAIKeywords默认[请, 你, 傻妞]开头的消息才会转给大模型回答其余消息仍走小爱自带逻辑。唤醒模式连续对话说小爱同学召唤傻妞以wakeUpKeywords开头进入 AI 模式后连续提问不必每句都以小爱同学开头等它说完onAIReplied的提示语默认我说完了还有其他问题吗再等 1-2 秒继续。退出唤醒模式说退出傻妞以exitKeywords开头。注意连续对话默认关闭streamResponse: false部分机型无法正确查询播放状态强行开启会异常。05 .migpt.js 配置速查字段默认示例作用systemTemplate角色对话模板系统提示词{{botName}}、{{messages}}、{{shortTermMemory}}、{{longTermMemory}}等模板变量控制角色设定与上下文注入bot.name/bot.profile傻妞AI 一方的名字与人设master.name/master.profile陆小千你的称呼与人设room.name/room.description会话群名称会话场景名与简介会进入提示词callAIKeywords[请, 你, 傻妞]消息以此开头时调用大模型回答wakeUpKeywords/exitKeywords[打开, 进入, 召唤]/[关闭, 退出, 再见]进入 / 退出连续对话的关键词onEnterAI/onExitAI/onAIAsking/onAIReplied/onAIError见示例文件各阶段提示语数组设为[]即关闭对应提示ttsxiaoaiTTS 引擎custom表示走第三方 TTSstreamResponsefalse是否启用连续对话exitKeepAliveAfter30连续对话无响应多少秒后自动退出建议不超过 60checkInterval1000播放状态检测间隔毫秒最低 500调小可减小回答间停顿感checkTTSStatusAfter3下发 TTS 后多少秒开始检测播放状态长文本被过早截断时调大playingCommand未启用播放状态查询指令播放状态异常时再配置timeout5000网络请求超时毫秒debug/enableTracefalse调试日志开关日常保持关闭最小化的角色与提示词修改示例export default { systemTemplate: 你是「傻妞」回复简洁、口语化直接说内容。, bot: { name: 傻妞, profile: 性格乖巧可爱 }, master: { name: 你, profile: 她的朋友 }, speaker: { userId: 你的小米ID, password: 你的小米密码, did: 小爱音箱Pro, ttsCommand: [5, 1], wakeUpCommand: [5, 3], onAIAsking: [让我先想想], onAIReplied: [我说完了], }, };06 换大脑与换音色换大脑改三行环境变量模型切换不改代码。以通义千问为例OPENAI_BASE_URLhttps://dashscope.aliyuncs.com/compatible-mode/v1 OPENAI_MODELqwen-turbo OPENAI_API_KEY你的通义千问API密钥通义千问还支持QWEN_ENABLE_SEARCHtrue让回答参考互联网搜索结果qwen-vl、qwen 开源系列与 qwen-long 不支持。换音色第三方 TTS默认tts: xiaoai用小米自带 TTS。换豆包同款音色或其他声音需要一台对 MiGPT 可见的 TTS 服务如 MiGPT-TTS火山引擎或本地 ChatTTS然后.env配置TTS_BASE_URLhttp://局域网或公网地址:端口/api不能用 localhost 或 127.0.0.1.migpt.js把speaker.tts改为custom对音箱说小爱同学把声音换成 xxx即可切换音色。接口与音色细节见 docs/tts.md。07 常见坑与排错现象原因与处理型号不在支持列表查 docs/compatibility.mdttsCommand/wakeUpCommand必须按机型替换正常运行的机型需保持streamResponse: false报70016登录验证失败账号密码不对或把手机号当成了小米 ID触发小米账号异地登录风控在常用网络/常用设备登录或改用 Docker 部署细节见 docs/faq.md回答慢换更快的模型如gpt-4oonAIAsking/onAIReplied置[]去掉提示语checkInterval调到 500连续对话没反应等提示语说完 1-2 秒再说小爱 Pro 顶部指示灯常亮时表示在听无反应就重新唤醒一次长回复被截断checkTTSStatusAfter适当调大打断回复可重新唤醒后说请你闭嘴两个容易忽略的细节指令触发小爱原生功能播放音乐、讲笑话等时消息不会进入历史记录外部收不到。此时先让音箱暂停再对话否则会出不可预期的错误。Docker 启动命令是docker run -d --env-file $(pwd)/.env -v $(pwd)/.migpt.js:/app/.migpt.js idootop/mi-gpt:latest配置文件改动后需重启容器Windows 终端下要把$(pwd)换成绝对路径。08 进阶玩法方向做法精细角色设定编辑systemTemplate与bot.profile配合{{shortTermMemory}}、{{longTermMemory}}变量控制上下文与记忆注入教程见 docs/prompt.md多设备每台音箱独立一套userId/did/ 角色配置分别部署角色互不相同Docker 部署不想维护 Node 环境时用上面的 Docker 命令镜像见 Dockerfile全部字段含义在 docs/settings.md 有完整说明原理部分看 docs/how-it-works.md。09 接下来做什么通读一遍 docs/settings.md确认每个字段都是有意配置的关注仓库 issues 区新机型适配参数基本都沉淀在那里先把小爱同学请 xxx单轮问答跑稳再开streamResponse试连续对话部署一个第三方 TTS 服务体验换音色效果。【免费下载链接】mi-gpt 将小爱音箱接入 ChatGPT 和豆包改造成你的专属语音助手。项目地址: https://gitcode.com/GitHub_Trending/mi/mi-gpt创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表