小智机器人
1.引言
最近有一个很火的开源项目小智机器人-xiaozhi-esp32。
类似于小度音箱和小爱音箱,你可以和小智进行语音沟通,但是小智的服务端对接了大模型(千问、DeepSeek等)。
所以它是一个智能体,可以和用户进行更丰富和有趣的对话。
2.特点
2.1 开源MIT协议,可以用于商用
2.2 支持语音唤醒
需要特定硬件
2.3 基于流式 ASR + LLM + TTS 架构的语音交互
2.4 OLED / LCD 显示屏,支持表情显示
2.5 设备端为ESP32-C3、ESP32-S3、ESP32-P4 芯片平台
价格低廉(最便宜大概50元左右,一般情况小于200元)
立创开发板
立创的这块开发板还带有摄像头,也就是说可以进行图像识别。爱动手的可以买元器件自己装,懒人可以直接在淘宝和京东上买成品。
2.6 后端也有开源实现
- xinnan-tech/xiaozhi-esp32-server Python 服务器
- joey-zhou/xiaozhi-esp32-server-java Java 服务器
- AnimeAIChat/xiaozhi-server-go Golang 服务器
其实虾哥的版本,只开源了客户端和通讯协议,Server的实现都来自第三方
2.7 支持MCP扩展大模型能力
可以实现智能家居控制、PC桌面操作、知识搜索、邮件收发等
小智原生已经带有播放音乐、天气预报、新闻等功能
为了将MCP服务接入小智,萌叔开发了 vearne/xiaozhi-mcp-pipe,欢迎使用。
2.8 有记忆功能
参考 mem0 和 mem0-research
3. 原理&技术
3.1 原理
ESP32芯片的性能非常弱,几百MHz,<1MB的内存,因此几乎所有的功能都是在服务端实现的。
- 1)【Client】ESP32硬件通过麦克风采集原始音频数据,通过Websocket协议传到Server
- 2)【Server】对音频数据进行语音识别,转换为文字
- 3)【Server】使用文字与大模型进行交互,得到回答(文字),回答可能包含指令(控制与之连接的其他外围设备或IoT设备,例如智能灯泡、传感器等)
- 4)【Server】文字通过TTS转成音频数据,通过Websocket协议再发到ESP32硬件
- 5)【Client】ESP32硬件通过扬声器播放给用户
3.2 技术
以xinnan-tech/xiaozhi-esp32-server为例说明
LLM 语言模型
使用方式 | 支持平台 | 免费平台 |
---|---|---|
openai 接口调用 | 阿里百炼、火山引擎豆包、深度求索、智谱ChatGLM、Gemini | 智谱ChatGLM、Gemini |
ollama 接口调用 | Ollama | - |
dify 接口调用 | Dify | - |
fastgpt 接口调用 | Fastgpt | - |
coze 接口调用 | Coze | - |
实际上,任何支持 openai 接口调用的 LLM 均可接入使用。
VLLM 视觉模型
使用方式 | 支持平台 | 免费平台 |
---|---|---|
openai 接口调用 | 阿里百炼、智谱ChatGLMVLLM | 智谱ChatGLMVLLM |
实际上,任何支持 openai 接口调用的 VLLM 均可接入使用。
TTS 语音合成
使用方式 | 支持平台 | 免费平台 |
---|---|---|
接口调用 | EdgeTTS、火山引擎豆包TTS、腾讯云、阿里云TTS、CosyVoiceSiliconflow、TTS302AI、CozeCnTTS、GizwitsTTS、ACGNTTS、OpenAITTS、灵犀流式TTS | 灵犀流式TTS、EdgeTTS、CosyVoiceSiliconflow(部分) |
本地服务 | FishSpeech、GPT_SOVITS_V2、GPT_SOVITS_V3、MinimaxTTS | FishSpeech、GPT_SOVITS_V2、GPT_SOVITS_V3、MinimaxTTS |
VAD 语音活动检测
类型 | 平台名称 | 使用方式 | 收费模式 | 备注 |
---|---|---|---|---|
VAD | SileroVAD | 本地使用 | 免费 |
ASR 语音识别
使用方式 | 支持平台 | 免费平台 |
---|---|---|
本地使用 | FunASR、SherpaASR | FunASR、SherpaASR |
接口调用 | DoubaoASR、FunASRServer、TencentASR、AliyunASR | FunASRServer |
Voiceprint 声纹识别
使用方式 | 支持平台 | 免费平台 |
---|---|---|
本地使用 | 3D-Speaker | 3D-Speaker |
Memory 记忆存储
类型 | 平台名称 | 使用方式 | 收费模式 | 备注 |
---|---|---|---|---|
Memory | mem0ai | 接口调用 | 1000次/月额度 | |
Memory | mem_local_short | 本地总结 | 免费 |
Intent 意图识别
类型 | 平台名称 | 使用方式 | 收费模式 | 备注 |
---|---|---|---|---|
Intent | intent_llm | 接口调用 | 根据LLM收费 | 通过大模型识别意图,通用性强 |
Intent | function_call | 接口调用 | 根据LLM收费 | 通过大模型函数调用完成意图,速度快,效果好 |
4. 总结
可以看出,小智的server端大量使用了成熟技术和第三方平台的产品, 因此这个项目(包含客户端和Server)有很高的学习价值。
固件默认接入 xiaozhi.me 官方服务器,感谢虾哥的分享,
感谢这个时代,让我们一起探索人工智能与机器人技术的迷人世界!
参考资料
1.xiaozhi-server 配置文件
2.xiaozhi-esp32-server 技术文档
作者: vearne
文章标题: 小智机器人
发表时间: 2025年8月13日
文章链接: https://vearne.cc/archives/40302
版权说明: CC BY-NC-ND 4.0 DEED