ARTICLE DETAIL

资讯详情

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

用 MiGPT 接入小爱音箱与大模型的完整教程:从 Docker 部署到参数配置

用 MiGPT 接入小爱音箱与大模型的完整教程:从 Docker 部署到参数配置 用 MiGPT 接入小爱音箱与大模型的完整教程从 Docker 部署到参数配置【免费下载链接】mi-gpt 将小爱音箱接入 ChatGPT 和豆包改造成你的专属语音助手。项目地址: https://gitcode.com/GitHub_Trending/mi/mi-gpt问小爱同学天气它能答让它帮忙写段文案就只会说不会。MiGPT 是一个把小米小爱音箱接入 ChatGPT、豆包等大语言模型的开源项目配置完成后音箱可以进行 AI 问答、连续对话并支持自定义人设与音色。本文按准备—部署—配置—进阶—排错的顺序走完整个流程不需要编程基础。 项目速览MiGPT 是什么怎么工作MiGPT 是一个常驻服务通过小米 IoT 开放的 MIoT 接口对接小爱音箱轮询音箱的对话列表拿到你的语音消息转发给你配置的大模型再把模型的回答交给音箱朗读出来。它弥补了原装小爱只能一问一答的短板核心能力有AI 问答复杂问题交给大模型回答不限于预设知识角色扮演给音箱设定名字、性格随时口头调整人设流式响应边生成边播放等待感明显低于整段等待长短期记忆基于本地数据库记录对话跨会话也有上下文自定义 TTS可换成豆包同款火山引擎音色一句话概括它把固定语音包 规则问答的音箱变成大模型 可选音色的语音助手。 动手前的准备清单类别要求音箱大部分小爱型号可用小爱音箱 Pro 表现最稳完整型号与指令参数见 compatibility.md。小度、天猫精灵不支持账号1 个小米账号需要小米 ID 和密码 1 个大模型 API 账号OpenAI 或兼容服务运行环境Docker或 Node.js 16建议 20服务器/电脑需常驻运行的环境内存 4GB 以上调用的是小米云端接口无需与音箱同一局域网部署上线三个动作完成启动获取代码并复制示例配置克隆仓库后把两份示例配置复制为正式文件后续所有改动都只在这两个文件里进行git clone https://gitcode.com/GitHub_Trending/mi/mi-gpt cd mi-gpt cp .migpt.example.js .migpt.js cp .env.example .env.migpt.js音箱账号、设备指令、人设与行为规则.env大模型的 API Key 与模型名启动服务Docker 方式推荐新手docker run -d --env-file $(pwd)/.env -v $(pwd)/.migpt.js:/app/.migpt.js idootop/mi-gpt:latest注意Windows 终端PowerShell/cmd下$(pwd)不可用需把配置文件路径写成绝对路径。Node.js 源码方式适合开发者pnpm install pnpm db:gen pnpm dev验证是否成功启动后对着音箱说以下任意一种能听到 AI 回答即表示链路通了小爱同学请 xxx例如请问地球为什么是圆的小爱同学你 xxx小爱同学召唤 xxx进入 AI 模式⚙️ 配置详解四个关键项从哪里填填写小米账号与设备名did这是最常出错的一处。userId填小米 ID在 account.xiaomi.com「个人信息 → 小米 ID」查看不是手机号或邮箱password是账号密码did填米家 App 中该音箱的设备名称空格、大小写、错别字如音响写成音响、Pro写成pro都会导致找不到设备// .migpt.js export default { speaker: { userId: 987654321, // 小米 ID非手机号 password: 123456, did: 小爱音箱Pro, // 与米家中设备名完全一致 }, };若名字始终匹配不上可把debug: true与enableTrace: true打开重启一次日志的MiNA 设备列表里能查到miotDID把它填进did即可查完记得把两个开关关掉。配置音箱指令ttsCommand / wakeUpCommand不同型号的朗读文本唤醒指令编号不同。以小爱音箱 ProLX06为例填[5, 1]和[5, 3]其他型号到小米 IoT 规格库home.miot-spec.com正文中以纯文本给出非链接按型号查对应的 TTS 与唤醒指令编号替换这两项即可。playingCommand查询播放状态默认不用配仅在回复被截断时再查表填入。配置大模型 API.env中只需关心三个变量OPENAI_API_KEY密钥、OPENAI_MODEL模型名、OPENAI_BASE_URL接口地址一般以/v1结尾接入第三方服务时才需要填。OPENAI_API_KEYsk-xxxxxxxx OPENAI_MODELgpt-4o-mini # OPENAI_BASE_URLhttps://api.openai.com/v1 # 用其他兼容服务时打开其余变量提示音效、Azure、千问联网搜索等默认无需改动全部参数说明见 settings.md。 进阶玩法人设、音色与连续对话修改 AI 人设人设由.migpt.js中bot.name、bot.profile和systemTemplate控制改文件需要重启服务也可以口头改说小爱同学你是 xxx你 xxx即可更新bot: { name: 傻妞, profile: 性别女性格乖巧可爱喜欢搞怪。 }调整唤醒与退出关键词callAIKeywords触发 AI 的开头词、wakeUpKeywords进入 AI 模式的词、exitKeywords退出模式的词三个数组按自己习惯填写例如把召唤换成打开。进入 AI 模式后无需每句话都喊小爱同学说小爱同学退出 xxx即可退出。替换第三方音色默认tts: xiaoai使用小爱自带语音。要换成豆包同款火山音色或本地 TTS 服务需自行部署 TTS 服务端接口为GET /api/tts.mp3与GET /api/speakers然后在.env填TTS_BASE_URL注意不能用 localhost、把tts改为custom配置switchSpeakerKeywords后还能用把声音换成 xxx随时切音色详见 tts.md。开启连续对话并调节节奏streamResponse: true开启连续对话依赖播放状态查询部分型号不支持需保持falseexitKeepAliveAfter: 30控制无响应多久自动退出checkInterval调小可缩短回复间隔。部分型号长回复会被截断此时查表补上playingCommand。切换其他大模型只要接口兼容 OpenAI SDK改.env三个变量即可。以通义千问为例OPENAI_BASE_URLhttps://dashscope.aliyuncs.com/compatible-mode/v1 OPENAI_MODELqwen-turbo OPENAI_API_KEY你的千问Key豆包等不兼容 OpenAI 格式的模型可用 OneAPI 等聚合工具转成 OpenAI 兼容接口后把OPENAI_BASE_URL指向它。 避坑指南现象 → 处理启动报70016登录验证失败小米 ID 或密码填错ID 不是手机号。若是异地登录保护在运行 MiGPT 的同一网络下先登录小米官网完成验证等约 1 小时再试。报找不到设备xxxdid与米家设备名不一致直接复制米家名称仍不行就开调试日志查miotDID填入。控制台打印了回答音箱却不出声ttsCommand与你的型号不符按型号到规格库查正确指令编号。回答说到一半戛然而止补填playingCommand型号若根本不支持查询播放状态则关闭streamResponse保证整句说完代价是失去唤醒模式。报 Connection error / 401 / 403按顺序排查网络可达性必要时配置HTTP_PROXY、OPENAI_API_KEY是否有效、OPENAI_BASE_URL是否指向了正确的服务。更多情况见 faq.md。小结与资源入口MiGPT 功能完整、链路简单适合作为把现成小爱音箱接入大模型的起点需要说明的是该项目已停止维护不再有新功能与问题修复且使用第三方账号调用云端接口存在一定风险建议使用专用小米账号并保持.env、.migpt.js本地备份。常见兼容型号与指令参数docs/compatibility.md全部配置参数docs/settings.md排错与原理docs/faq.md、docs/how-it-works.mdAI 对话逻辑源码src/services/bot/含conversation.ts、memory/供二次开发参考【免费下载链接】mi-gpt 将小爱音箱接入 ChatGPT 和豆包改造成你的专属语音助手。项目地址: https://gitcode.com/GitHub_Trending/mi/mi-gpt创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表