适配Xiaozhi的AI agent服务器程序
本服务端致力于能跑到NAS, 路由器, 树莓派等轻量级设备,因此所有大模型均调用API服务
使用Xiaozhi来进行对话。
没有联网能力
- 对话时大概76M
- 非对话时大概36M常驻内存
- 支持OTA协议,服务会将OTA协议转发致小智官方服务器, 然后将小智官方的返回的服务器地址为我们自己的
websocket地址, 因此我们可以在自定义服务器的基础上,不影响与官方同步升级。
- 支持会话记忆(即本次唤醒后所有的对话聊天,暂未实现压缩)
- 历史对话记录(即历史对话记录摘要,用于每次对话时记忆召回)
- 用户画像(每次会话结束之后,会更新用户话像,方便AI做出更适合用户的回答)
- 每次唤醒之后,会根据用户输入,调用大模型来进行意图识别,之后本次会话的所有对话都由意图识别给出的
Agent来应答
闲聊默认全能型提示词小学全科老师用于解决小朋友们的一些学习上的问题
-
Docker部署,镜像大概80M
- 一个Web前端用于调试
AI Agent相关的功能和OTA接口 - Xiaozhi语音终端
SileroVad用来提前去除一些非人类声音, 降低ASR的开销ASR使用了腾讯提供的服务,每个月5000次的免费额度足够了TTS使用了EdgeTTS服务,支持流式,目前是通过标点切分来实现流式输入,EdgeTTS自带流式输出。Embedding使用了硅基流动提供的免费API, 虽然有并发限制,在只有一个设备的情况下,并发也够了大模型分别使用了智谱AI和硅基流动提供的免费API, 同时使用可解决并发问题向量数据库使用了Redis-Stack提供的免费数据库,免费的32M内存目前应该也足够做记忆召回了
配置文件, 里面包含了所有的配置信息,包括ASR, TTS, Embedding, 大模型, 向量数据库等
- 优化记忆召回
- 抽象简易
Workflow, 方便编写一些稍微复杂一点的AI Agent - 基础知识库召回(主要是一些儿童读物,课本,防止大模型的幻觉让小朋友学到错误的知识)
- HomeAssistant对接
- 接入喜马拉雅讲故事

