1. 模型准备与转换(PC端/服务器)
- 你先在PC上下载或训练好大语言模型(如HuggingFace格式)。
- 用RKLLM-Toolkit把模型转换成瑞芯微NPU能用的专用格式(.rkllm),并可选择量化优化。
- 把转换好的模型文件拷贝到开发板(如RK3588)上。
2. 板端部署与启动
- 在开发板上,分别启动三个主要服务/模块:
- ASR(语音识别)服务:实时采集麦克风音频,把语音转成文字。
- LLM(大模型)服务:接收ASR识别的文字,理解并生成智能回复。
- TTS(语音合成)服务:把LLM生成的文字回复转成语音,最后通过扬声器播放。
3. 模块间通信
- 各模块之间通过ZeroMQ(消息队列)进行通信,互相传递数据,流程如下:
- ASR识别出文字后,发给LLM模块。
- LLM模块生成回复后,发给TTS模块。
- TTS模块合成语音后,通知ASR模块可以继续采集。
4. 用户交互闭环
- 用户说一句话,ASR模块识别成文字。
- LLM模块理解这句话,生成智能回复。
- TTS模块把回复变成语音,扬声器播放出来。
- 用户听到回复,可以继续说下一句话,流程循环往复。
三、举个例子
- 你说:“今天天气怎么样?”
- ASR模块识别成文字:“今天天气怎么样?”
- LLM模块收到后,生成回复:“今天天气晴,气温25度。”
- TTS模块把这句话合成语音,扬声器播放出来:“今天天气晴,气温25度。”
- 你听到后,可以继续提问,系统继续响应。