小爱音箱接入大模型:如何用 MiGPT 接入 ChatGPT 与豆包
小爱音箱接入大模型如何用 MiGPT 接入 ChatGPT 与豆包【免费下载链接】mi-gpt 将小爱音箱接入 ChatGPT 和豆包改造成你的专属语音助手。项目地址: https://gitcode.com/GitHub_Trending/mi/mi-gpt深夜问客厅里的音箱帮我写一首关于月亮的诗几秒后它回了一句这个我还不会呢。传统的小爱音箱能报天气、定闹钟却答不了复杂问题。MiGPT 是一个把小爱音箱接入 ChatGPT、豆包等大语言模型的开源项目让音箱获得复杂问答、连续对话和自定义人设能力。本文讲清从克隆仓库到完成第一次 AI 对话的完整过程。先别动手开始前的三项确认动手部署前请逐项核对以下清单音箱型号MiGPT 支持大部分小爱音箱型号其中小爱音箱 Pro 体验最完整。各型号是否兼容、指令参数是多少先看兼容型号列表。运行环境一台能长期开机的机器电脑、NAS 或服务器均可装好 Docker 或 Node.js 20 以上版本。它调用的是小米云端接口不需要和音箱处于同一局域网。账号与密钥一个小米账号及密码注意是小米 ID不是手机号以及一个 OpenAI 密钥或任何兼容 OpenAI 格式的大模型密钥豆包、通义千问、DeepSeek 等。一分钟看懂原理可以把 MiGPT 理解成坐在小爱音箱和大模型之间的翻译官它通过轮询音箱的对话列表拿到你的问题转发给大模型再把大模型的回答用 TTS 合成为音频最后下发到音箱播放。整条链路一句话就是接收语音 → 调用大模型 → 语音合成 → 音箱播放。更多细节可以看工作原理。服务启动成功后就可以直接对音箱说话召唤 AI下图是一次真实的服务启动与对话记录。上手从克隆到第一次 AI 对话拿代码、配文件MiGPT 仓库克隆与示例文件复制克隆仓库并把根目录下两个示例文件复制为自己的配置文件git clone https://gitcode.com/GitHub_Trending/mi/mi-gpt cd mi-gpt cp .migpt.example.js .migpt.js cp .env.example .env两个文件里每个字段的含义参数设置 有逐项说明。选部署方式MiGPT Docker 一行部署新手推荐 Docker。在仓库根目录执行一条命令docker run -d --env-file $(pwd)/.env -v $(pwd)/.migpt.js:/app/.migpt.js idootop/mi-gpt:latest注意 Windows 终端下$(pwd)不可用要改写配置文件的绝对路径。如果你熟悉 Node.js 开发也可以克隆后执行pnpm install直接从源码运行细节见本地开发。看到服务已启动日志后对音箱说小爱同学召唤傻妞名称以你的配置为准得到回应即接入成功。填账号与模型参数小爱音箱接入豆包的关键配置必须手填的字段集中在两个文件里且各有各的坑。.env决定用哪个大模型OPENAI_API_KEYsk-xxxxxxxxxxxxxxxxxxxx OPENAI_MODELgpt-4o # 接入兼容 OpenAI 格式的其他模型如豆包、通义千问时追加 # OPENAI_BASE_URLhttps://模型服务商地址/v1豆包这类不直接兼容 OpenAI 格式的模型可以先用 One API 之类的 API 聚合服务转成 OpenAI 格式再把转换后的地址填进OPENAI_BASE_URL。.migpt.js决定怎么连音箱export default { bot: { name: 傻妞, profile: 性别女性格乖巧可爱喜欢搞怪。, }, speaker: { userId: 你的小米ID, password: 账号密码, did: 小爱音箱Pro, ttsCommand: [5, 1], wakeUpCommand: [5, 3], }, };两个最易错的点userId填小米 ID在小米账号个人信息页查看不是手机号或邮箱did必须与米家 App 里的设备名称一字不差多一个空格、大小写不同都会报找不到设备。ttsCommand与wakeUpCommand是各型号播放文本唤醒对应的指令编号不同型号取值不同需按 MIoT 规格页查询兼容列表里也整理了各型号的现成值。调教让它更像专属助手人格设定用 systemTemplate 塑造 AI 性格systemTemplate决定 AI 的说话方式bot与master决定对话双方的人设systemTemplate: 你是一个博学多识的助手友好且简洁地回答不超过三句话。,把这句话换成你是一位耐心的家庭教师用小学生能听懂的语言讲解它就变成了孩子的学习搭子。更多写法见Prompt 编写指南。自定义唤醒词与退出词默认只有以请开头的消息才会触发 AI可按需扩展并定义进出 AI 模式的口令speaker: { callAIKeywords: [请, 傻妞], wakeUpKeywords: [召唤傻妞, 打开傻妞], exitKeywords: [退出傻妞, 关闭傻妞], },说小爱同学召唤傻妞进入 AI 模式后可以连续提问无需每句都重复唤醒词静默 30 秒自动退出时长可用exitKeepAliveAfter调整。换音色接入第三方 TTS不想听小爱自带音色的话需要部署一个提供标准接口的 TTS 服务官方配套的 MiGPT-TTS 项目接入了火山引擎音色实名认证后即可使用。然后在.migpt.js中设tts: custom在.env中填TTS_BASE_URL指向你的 TTS 服务。配置后说小爱同学把声音换成 xxx即可实时切换音色流程与接口约定见第三方 TTS。遇到问题看这里三个高频问题服务起不来现象启动日志报 70016 登录验证失败、找不到设备、ERR_MODULE_NOT_FOUND 等错误。排查顺序确认userId是小米 ID 而非手机号密码正确。确认did与米家中设备名称完全一致重点检查空格和大小写。若提示触发异地登录保护先在与服务相同的网络下登录小米官网账号完成安全验证再重试。检查容器内是否存在/app/.migpt.js且内容无误Windows 下 docker 命令须用绝对路径。音箱对 AI 指令无响应现象对音箱说话不调用 AI或控制台有回复但音箱不发声。排查顺序必须先说小爱同学唤醒再说请 xxx。未唤醒时直接说请 xxx它听不到。控制台有回复但不出声基本是ttsCommand与型号不符按 MIoT 规格页的值修正。回复说到一半戛然而止为该型号补上playingCommand若型号不支持查询播放状态可关闭streamResponse换取完整句子。共享设备无法通过外部接口获取此场景暂不支持。AI 回答太慢现象提问后等待时间长连续对话时停顿感明显。排查顺序换延迟更低的模型如gpt-3.5-turbo或响应迅速的国产大模型。把onAIAsking、onAIReplied设为空数组去掉让我先想想我说完了等提示语。微调checkInterval播放状态检测间隔与checkTTSStatusAfter下发 TTS 指令后开始检测的延迟。在国内访问 OpenAI 受阻时配置代理或改用国内大模型。更多报错对照见常见问题。改造完成后一台普通小爱音箱就变成了随时在线的大模型语音入口问答、聊天、写诗都可以通过语音完成。最后提醒MiGPT 已停止维护建议部署在稳定的家庭内网环境并定期备份.migpt.js、.env及数据库文件配置出错时可快速恢复。参数的逐项说明在参数设置遇到新报错先查常见问题。【免费下载链接】mi-gpt 将小爱音箱接入 ChatGPT 和豆包改造成你的专属语音助手。项目地址: https://gitcode.com/GitHub_Trending/mi/mi-gpt创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考