概要
发篇文章记录一下最近搞的语音+大模型聊天机器人的搭建过程,供交流学习。有正反馈的话会继续优化。
整体架构流程
注意:借传统的基于RASA的对话机器人的图一用,本博会把NLU(Natural Language Understanding)和 Dialogue Management这两个组件,用大模型来替代。
组件及模型说明:
- 用户通过麦克风输入语音(就是说话,本博是用户对着PC上的麦克风说话)
- STT(Speech-To-Text)模型:语音到文本的转换模型,本博采用开源的wenet模型(https://wenet.org.cn/wenet/python_package.html)
- NLU(Natural Language Understanding)和 Dialogue Management:本博采用Chinese-LLaMA-Alpaca-2(https://github.com/ymcui/Chinese-LLaMA-Alpaca-2/wiki/llamacpp_zh)
- TTS(Text-To-Speech)模型:文本到语音的转换模型,本博采用开源的PaddleSpeech(https://github.com/PaddlePaddle/PaddleSpeech/wiki/PaddleSpeech-Server-RESTful-API)
硬件部分
采用了两台CentOS7.9的云服务器,具体配置如下:
第一台服务器(192.168.0.92):
4vCPUs | 16GiB | s3.xlarge.2 | CentOS 7.9 64bit
第二台服务器(192.168.0.222):
4vCPUs | 8GiB | s3.xlarge.2 | CentOS 7.9 64bit
环境部分
需要在两台服务器上准备Anaconda的Python环境,操作命令如下:
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda3/miniconda.sh
bash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3
rm -rf ~/miniconda3/miniconda.sh
vi ~/.bashrc
export PATH=$PATH:~/miniconda3/bin