写了个AI Agent服务端
💡
原文中文,约2600字,阅读约需7分钟。
📝
内容提要
本文总结了作者开发语音终端的过程,旨在将智能音响的语音输入转发给大模型deepseek。作者使用ESP32-S3开发板,设计了服务端程序,并应用了VAD、ASR和嵌入向量模型等技术,实现了语音识别和文本转语音功能。尽管面临延迟和模型限制,作者仍在探索大模型的应用。
🎯
关键要点
- 作者开发语音终端的目的是将智能音响的语音输入转发给大模型deepseek。
- 使用ESP32-S3开发板,设计了服务端程序,应用了VAD、ASR和嵌入向量模型等技术。
- 作者在寻找合适的方案时,发现了开源的xiaozhi-esp32项目。
- 服务端程序的内存限制设定为100MB,选择了自定义网络框架以适应大模型调用。
- VAD模型用于静音检查,ASR服务用于语音识别,嵌入向量模型用于召回相关聊天记录。
- 使用redis-stack持久化聊天记录,并设置了记忆遗忘功能。
- 大模型的使用降低了延迟和成本,作者使用了Azure TTS服务将文字转换为语音。
- 作者对大模型的应用进行了反思,发现其在复杂对话场景中的表现不佳,尤其是在需要多轮对话的情况下。
❓
延伸问答
作者开发语音终端的主要目的是什么?
作者的主要目的是将智能音响的语音输入转发给大模型deepseek,以便让家里的小朋友体验大模型的便利。
在开发过程中,作者使用了哪些技术?
作者使用了VAD、ASR和嵌入向量模型等技术来实现语音识别和文本转语音功能。
作者选择ESP32-S3开发板的原因是什么?
作者选择ESP32-S3开发板是因为它可以满足开发语音终端的需求,并且有现成的开源项目可供参考。
服务端程序的内存限制是多少?
服务端程序的内存限制设定为100MB。
作者对大模型在复杂对话场景中的表现有何看法?
作者认为大模型在复杂对话场景中的表现不佳,尤其是在需要多轮对话的情况下。
作者使用了哪种服务将文字转换为语音?
作者使用了Azure TTS服务将文字转换为语音。
➡️