小智 AI 与 DeepSeek:设备与大模型如何分工
小智 AI 与 DeepSeek:设备与大模型如何分工
January 15, 2025
很多人看到“小智 + DeepSeek”会以为大模型跑在 ESP32 上。实际上不是:小智设备不直接连接大模型。它是一个语音入口,大模型在服务端对接。上游 README 对项目的定位是:小智 AI 聊天机器人作为语音交互入口,利用 Qwen / DeepSeek 等大模型的 AI 能力,通过 MCP 协议实现多端控制。
本文把这套分工讲清楚,并以社区服务端为例,演示在服务端配置 DeepSeek 的方法。
本文已于 2026-10-23 修订:删除了没有上游依据的性能对比数字、“混合路由算法”、路线图和应用场景示例,只保留能在固件源码、官方文档和服务端仓库中核对的内容。本站没有对任何大模型做性能评测,也不提供对比数据。
一、设备与服务端各做什么
| 环节 | 位置 | 说明 |
|---|---|---|
| 唤醒词检测 | 设备 | 基于 ESP-SR 的离线语音唤醒,支持自定义唤醒词 |
| 音频采集与播放 | 设备 | 麦克风采集后编码为 Opus 音频流上行;服务端下发的音频在设备解码播放 |
| 显示与表情 | 设备 | OLED / LCD 显示文字与表情 |
| 语音识别(ASR) | 服务端 | 把上行语音转成文字 |
| 大模型对话(LLM) | 服务端 | DeepSeek 等大模型在这一环节接入 |
| 语音合成(TTS) | 服务端 | 把回复文字合成为语音下发 |
| 设备控制 | 设备端 MCP | 通过设备端 MCP 控制音量、灯光、电机、GPIO 等 |
上游 README 说明,固件采用 Opus 音频流,既支持传统的流式 ASR + LLM + TTS 方案,也支持 Realtime 端到端语音模型。设备与服务端之间的通信协议见 WebSocket 与 MQTT + UDP。
二、两种接入路径
| 路径 | 模型从哪里选 | 适合谁 |
|---|---|---|
| 使用官方服务器(默认) | 以官方控制台提供的为准,个人用户注册账号后可免费使用 Qwen 实时模型 | 想直接用,不想维护服务端 |
| 自建服务端 | 服务端支持什么就能接什么,包括 DeepSeek | 想自选大模型、语音识别和语音合成 |
固件里没有也不需要大模型的 API Key。密钥应该只保存在你的服务端配置里。自建服务端的整体思路、安全警示和设备如何指向你的服务器,见自建服务端。
三、在服务端配置 DeepSeek(以 xiaozhi-esp32-server 为例)
xinnan-tech/xiaozhi-esp32-server 是社区开源的服务端(MIT 许可证)。下面的配置取自其 v0.9.7 标签的 main/xiaozhi-server/config.yaml:
# Excerpt of main/xiaozhi-server/config.yaml (xiaozhi-esp32-server v0.9.7)
selected_module:
LLM: DeepSeekLLM
LLM:
DeepSeekLLM:
type: openai
model_name: deepseek-v4-flash
url: https://api.deepseek.com
api_key: <your DeepSeek API key>几点说明:
selected_module.LLM选择使用哪一个 LLM 配置名,这里指向下面定义的DeepSeekLLM;type: openai表示通过 OpenAI 兼容接口调用,该服务端当前支持的 LLM 类型为openai、dify、ollama;model_name会随 DeepSeek 的模型更新而变化,请以 DeepSeek 开放平台 的最新说明为准;- 服务端文档建议把自己的改动写在
data/.config.yaml,它会覆盖config.yaml,这样升级时不会被冲掉; - API Key 是敏感信息,不要提交到代码仓库,也不要贴到公开的 issue 里。
四、五步跑通一次对话
- 烧录固件:在固件下载页选择你的开发板变体,用烧录工具写入;
- 配网与激活:按首次启动完成 Wi-Fi 配网;
- 部署服务端:按服务端项目文档部署,记下它的 OTA 地址和 WebSocket 地址;
- 让设备指向你的服务器:在配网页面的「高级」选项卡填写 OTA 地址,或在编译时设置
Default OTA URL; - 配置并验证:在服务端填好 DeepSeek 的接口和密钥,用唤醒词或按键发起一次对话,在服务端日志里确认请求已到达。
五、选择 DeepSeek 前要想清楚的事
这些是工程层面的通用考虑,不是评测结论:
- 延迟:一次语音对话要依次经过识别、大模型和合成,大模型首个字的返回时间直接影响“等多久才开口”。请在你自己的网络和服务端上实测;
- 费用与限流:大模型按调用计费并可能限流,请阅读服务商的计费和使用条款;
- 隐私:对话文本会发送给第三方 API。如果在意隐私,请先阅读服务商的数据政策,必要时选择可本地部署的模型;
- 可替换性:服务端把 LLM 抽象成配置项,换模型通常只需改配置,不要把模型细节写死在业务逻辑里;
- 安全:自建服务端未经安全评测,公网部署务必做好防护,详见自建服务端的安全警示。
相关阅读
对照来源
- 上游 78/xiaozhi-esp32 v2.5.2 的
README_zh.md; - 社区项目 xiaozhi-esp32-server
v0.9.7标签的main/xiaozhi-server/config.yaml; - 核对日期:2026-10-23。更正或补充请发邮件到 [email protected]。