llm语音交互小实践
环境部署
具体环境部署可见该链接,此处仅说明基本步骤:项目开源地址。本项目直接在windows11系统中进行简单尝试。
miniconda\ffmpeg安装
miniconda安装
考虑到实际使用情况,anaconda是一个大而全的工具集合,内部有很多常用的库,但是本人使用下来感觉其中有很多用不到的东西,因此此处尝试使用轻量化自定义程度高的miniconda。链接如下:miniconda
选择合适的版本下载后双击exe,按照提示操作即可。(注意环境变量问题)
ffmpeg安装
可查看该教程windows电脑ffmpef安装教程
具体流程为下载合适的版本-解压-配置环境变量。
模型下载
下载SenseVoiceSmall与QWen模型。
SenseVoiceSmall模型下载:
自动下载:设置215行 model_dir = "iic/SenseVoiceSmall"
手动下载:https://www.modelscope.cn/models/iic/SenseVoiceSmall/files
QWen模型下载:
自动下载:设置220行 model_name = "Qwen/Qwen2.5-1.5B-Instruct",开启科学上网,可从huggingface自动下载
手动下载:https://www.modelscope.cn/models/ 搜索QWen,结果中下载显存可支持模型
模型具体介绍可见: https://huggingface.co/FunAudioLLM/SenseVoiceSmall
https://huggingface.co/Qwen/Qwen2.5-1.5B-Instruct
其他环境部署
1-创建虚拟环境
conda create -n chatAudio python=3.10
conda activate chatAudio
2-安装pytorch+cuda版本
由于我本地的cuda版本为12.1,因此我的命令如下
pip install torch==2.3.1 torchvision==0.18.1 torchaudio==2.3.1 --extra-index-url https://download.pytorch.org/whl/cu121
其它适合自己电脑的torch+cuda版本可在torch官网查找
https://pytorch.org/get-started/previous-versions/
3-其他依赖
pip install edge-tts==6.1.17 funasr==1.1.12 ffmpeg==1.4 opencv-python==4.10.0.84 transformers==4.45.2 webrtcvad==2.0.10 qwen-vl-utils==0.0.8 pygame==2.6.1 langid==1.1.6 langdetect==1.0.9 accelerate==0.33.0 PyAudio==0.2.14
cosyvoice依赖库
conda install -c conda-forge pynini=2.1.6
pip install WeTextProcessing --no-deps
pip install HyperPyYAML==1.2.2 modelscope==1.15.0 onnxruntime==1.19.2 openai-whisper==20231117 importlib_resources==6.4.5 sounddevice==0.5.1 matcha-tts==0.0.7.0
之后直接运行开源项目中的文件即可
小结
存在一些问题:1-语音回传问题,当前的项目当中合成的语音会被当做用户提问接受,这点可以考虑采用声纹识别或者过滤的方法解决,之前我还采用过另外的方法,就是在播放语音的时候不传送消息,直到使用关键词打断,这里是直接做了打断机制
2-还有一个问题,关于这个开源项目,本质上是语音转文字-文字与大语言模型交互-文字转语言回复,这个也是我们当时小信时期的做法,不知道是否有延时更短的模型或者解法存在。
3-第三个问题是由于本机的算力有限如何达到快速应答,应该使用什么方案,具体后续可以参考这个项目:https://github.com/78/xiaozhi-esp32
4-todo-梳理项目代码逻辑并结合xiaozhi的项目实现快速应答。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 See You Tomorrow!!

