hrzandGitHub de8c762d79 fix:manager意图识别bug (#762)
* fix:连接manager后无法使用functioncallbug

* fix:意图识别使用llm无法播放音乐bug

* fix:manager第一图识别使用独立llm无法初始化llm的bug
2025-04-13 18:10:17 +08:00
2025-04-13 00:32:32 +08:00
2025-04-13 18:10:17 +08:00
2025-02-03 00:35:24 +08:00
2025-04-13 00:32:32 +08:00

Banners

小智后端服务xiaozhi-esp32-server

本项目为开源智能硬件项目 xiaozhi-esp32提供后端服务
根据小智通信协议使用Python实现
帮助您快速搭建小智服务器

English · 简体中文 · 更新日志 · 部署文档 · 反馈问题

GitHub Contributors GitHub Contributors Issues GitHub pull requests GitHub pull requests stars


适用人群 👥

本项目需要配合 ESP32 硬件设备使用。如果您已经购买了 ESP32 相关硬件,且成功对接过虾哥部署的后端服务,并希望独立搭建自己的 xiaozhi-esp32 后端服务,那么本项目非常适合您。

想看使用效果?请猛戳视频 🎥

小智esp32连接自己的后台模型 自定义音色 使用粤语交流 控制家电开关 成本最低配置
自定义音色 播放音乐 天气插件 IOT指令控制设备 播报新闻

警告 ⚠️

1、本项目为开源软件,本软件与对接的任何第三方API服务商(包括但不限于语音识别、大模型、语音合成等平台)均不存在商业合作关系,不为其服务质量及资金安全提供任何形式的担保。 建议使用者优先选择持有相关业务牌照的服务商,并仔细阅读其服务协议及隐私政策。本软件不托管任何账户密钥、不参与资金流转、不承担充值资金损失风险。

2、本项目成立时间较短,还未通过网络安全测评,请勿在生产环境中使用。 如果您在公网环境中部署学习本项目,请务必在配置文件 config.yaml 中开启防护:

server:
  auth:
    # 开启防护
    enabled: true  

开启防护后,您需要根据实际情况校验机器的 token 或 mac 地址,详细请参见配置说明。


部署方式 🚀

Banners

部署文档

本项目支持最简化安装和全模块安装。请根据具体需求选择安装方式。

最简化适合在较低资源配置中运行,无需数据库。请参考-最简化安装架构图

全模块适合想体验完整功能,过程复杂。请参考-全模块安装架构图

1、 最简化安装

最简化安装包含:智能对话、IOT等功能,数据存储在配置文件。我们提供了两种安装教程,如果你决定使用最简化安装,可选择Docker只运行Server本地源码只运行Server任意一种方式。

1.1. Docker只运行Server

你可以使用编译好的docker镜像安装,点击Docker只运行Server。优点:减少环境配置的烦恼;缺点:版本可能有点旧,镜像文件较大。

2.2. 本地源码只运行Server

你可以以本地源码的方式运行,点击本地源码只运行Server。优点:可以随时更新最新代码;缺点:安装Conda环境较为复杂。

2、 全模块安装

全模块安装包含:智能对话、IOT、OTA、智控台,数据存储在数据库中。我们提供了两种安装教程,如果你决定使用全模块安装,可选择Docker运行全模块本地源码运行全模块任意一种方式。

2.1. Docker运行全模块

你可以使用编译好的docker镜像安装,点击Docker运行全模块。优点:减少环境配置的烦恼;缺点:版本可能有点旧,镜像文件较大。

2.2. 本地源码运行全模块

你可以以本地源码的方式运行,点击本地源码运行全模块。优点:可以随时更新最新代码;缺点:安装Java、Node.js、Conda环境较为复杂。


常见问题

如遇到问题或产品建议反馈点这里


产品生态 👬

小智是一个生态,当你使用这个产品时,也可以看看其他在这个生态圈的优秀项目

  • 小智安卓客户端

    一个基于xiaozhi-server的Android、IOS语音对话应用,支持实时语音交互和文字对话。现在是flutter版本,打通IOS、Android端。

  • 小智电脑客户端

    该项目提供了一个基于 Python 实现的小白 AI 客户端,使得在不具备实体硬件条件的情况下,依然能够体过代码体验小智 AI 的功能。主要功能包括 AI 语音交互、视觉多模态识别、IoT 设备集成、联网音乐播放、语音唤醒、自动对话模式、图形化界面、命令行模式、跨平台支持、音量控制、会话管理、加密音频传输、自动验证码处理等。

  • 小智Java服务端

    小智开源后端服务 Java 版本是一个基于 Java 的开源项目,它包括前后端的服务,旨在为用户提供一个完整的后端服务解决方案。


功能清单

已实现

  • 通信协议
    基于 xiaozhi-esp32 协议,通过 WebSocket 实现数据交互。
  • 对话交互
    支持唤醒对话、手动对话及实时打断。长时间无对话时自动休眠
  • 意图识别
    支持使用LLM意图识别、function call函数调用,减少硬编码意图判断
  • 多语言识别
    支持国语、粤语、英语、日语、韩语(默认使用 FunASR)。
  • LLM 模块
    支持灵活切换 LLM 模块,默认使用 ChatGLMLLM,也可选用阿里百炼、DeepSeek、Ollama 等接口。
  • TTS 模块
    支持 EdgeTTS(默认)、火山引擎豆包 TTS 等多种 TTS 接口,满足语音合成需求。
  • 记忆功能
    支持超长记忆、本地总结记忆、无记忆三种模式,满足不同场景需求。
  • IOT功能
    支持管理注册设备IOT功能,支持基于对话上下文语境下的智能物联网控制。
  • 智控台 提供Web管理界面,支持智能体管理、用户管理、系统配置等功能,方便管理员和用户进行管理。

正在开发 🚧

  • 多种心情模式

想了解具体开发进度,请点击这里

如果你是一名软件开发者,这里有一份《致开发者的公开信》,欢迎加入!


本项目支持的平台/组件列表 📋

LLM 语言模型

使用方式 支持平台 免费平台
openai 接口调用 阿里百炼、火山引擎豆包、深度求索、智谱ChatGLM、Gemini 智谱ChatGLM、Gemini
ollama 接口调用 Ollama -
dify 接口调用 Dify -
fastgpt 接口调用 Fastgpt -
coze 接口调用 Coze -

实际上,任何支持 openai 接口调用的 LLM 均可接入使用。


TTS 语音合成

使用方式 支持平台 免费平台
接口调用 EdgeTTS、火山引擎豆包TTS、腾讯云、阿里云TTS、CosyVoiceSiliconflow、TTS302AI、CozeCnTTS、GizwitsTTS、ACGNTTS、OpenAITTS 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 -

Memory 记忆存储

类型 平台名称 使用方式 收费模式 备注
Memory mem0ai 接口调用 1000次/月额度
Memory mem_local_short 本地总结 免费

Intent 意图识别

类型 平台名称 使用方式 收费模式 备注
Intent intent_llm 接口调用 根据LLM收费 通过大模型识别意图,通用性强
Intent function_call 接口调用 根据LLM收费 通过大模型函数调用完成意图,速度快,效果好

鸣谢 🙏

Star History Chart
S
Description
本项目为xiaozhi-esp32提供后端服务,帮助您快速搭建ESP32设备控制服务器。Backend service for xiaozhi-esp32, helps you quickly build an ESP32 device control server.
Readme MIT
616 MiB
Languages
JavaScript 40%
Java 18.9%
Vue 18.9%
Python 15.9%
TypeScript 4.1%
Other 2.1%