https://github.com/linyiLYi/bilibot Github项目详情见【阅读原文】
项目简介bilibot 是一个本地聊天机器人,通过哔哩哔哩(Bilibili)用户的评论进行了微调训练,目的是提供一个能够与用户进行自然语言交互的聊天机器人,它能够理解用户的问题并给出合适的回答。 项目不仅支持文字聊天,还能生成针对特定问题的语音对话。基于Qwen1.5-32B-Chat模型,通过苹果的mlx-lm LORA示例项目进行微调,结合GPT-SoVITS开源项目,实现语音生成。 使用方法配置环境- 创建Python环境:使用Anaconda创建一个名为
bilibot的Python 3.10环境。
condacreate-nbilibotpython=3.10
condaactivatebilibot
- 安装依赖:进入到项目目录,安装所需的Python包。
cdbilibot pipinstall-rrequirements.txt
模型微调训练与推理测试- 模型微调:使用
mlx_lm.lora命令对基础模型Qwen1.5-32B-Chat进行微调。
python-mmlx_lm.lora--modelmodels/Qwen1.5-32B-Chat--datadata/--train--iters1000--batch-size16--lora-layers12
python-mmlx_lm.fuse--modelmodels/Qwen1.5-32B-Chat--save-pathmodels/Qwen1.5-32B-Chat-FT--adapter-pathmodels/Qwen1.5-32B-Chat-Adapters
- 模型量化加速:使用提供的脚本对模型进行量化压缩,以加快生成速度。
pythontools/compress_model.py
pythonchat.py
语音生成- 配置GPT-SoVITS环境:为GPT-SoVITS创建一个新的Python环境并安装依赖。
condacreate-nGPTSOVITSpython=3.9 condaactivateGPTSOVITS cdGPT-SoVITS pipinstall-rrequirements.txt
- 运行GPT-SoVITS:启动webui.py以进行语音生成。
pythonwebui.py
- 运行API程序:使用不同的端口为派蒙和林亦提供语音生成服务。
python api.py -s SoVITS_weights/paimeng2_e110_s159940.pth -g GPT_weights/paimeng2-e10.ckpt -dr samples/Paimon/疑问—哇,这个,还有这个…只是和史莱姆打了一场,就有这么多结论吗?.wav -dt "哇,这个,还有这个…只是和史莱姆打了一场,就有这么多结论吗?"-dl"zh"-a127.0.0.1-p9880 pythonapi.py-sSoVITS_weights/linyi_e25_s1150.pth-gGPT_weights/linyi-e50.ckpt-dr"samples/linyi/【愤怒】你这问题太弱智了,我都不知道该从哪开始骂你。.WAV"-dt"你这问题太弱智了,我都不知道该从哪开始骂你。"-dl"zh"-a127.0.0.1-p9881
pythonstart_qa_dialogue.py
|