项目介绍
项目主页:峡谷小狐仙–多模态角色扮演游戏助手
本项目基于书生浦语🌟InternLM2模型,通过构造生成训练数据,采用Xtuner微调的方式,打造了一个王者荣耀领域的角色扮演聊天机器人–峡谷小狐仙,同时结合🌟ASR技术实现语音输入、🌟RAG 检索增强生成技术实现生成王者英雄有关信息、🌟TTS技术实现声音克隆和语音输出、🌟数字人技术实现了视频输出功能。峡谷小狐仙将王者荣耀手游中特定游戏角色妲己的形象带入书生浦语语言大模型,在实现①知识输出的同时,也实现②角色扮演的效果:
- 知识输出:使峡谷小狐仙对话表现得像《王者荣耀》游戏专家一样,为使用者提供游戏相关的知识查询
- 峡谷小狐仙通晓关于《王者荣耀》中100多位英雄的知识,包括英雄被动技能、英雄主动技能、英雄的角色背景以及英雄故事,相关游戏人物的历史故事
- 角色扮演:使峡谷小狐仙表现得像《王者荣耀》游戏里的英雄角色妲己一样
- 人物设定符合王者荣耀游戏中妲己的角色背景和英雄故事
- 采用符合游戏人物妲己的性格特点、语气、行为方式和表达方式来回复问题
- 目前实现了英雄妲己的角色扮演,以后会支持更多的英雄角色,也可以根据使用的需求设定创建属于自己的英雄,语音音色和添加特定的对话方式
本地部署
部署机器配备的GPU为魔改的2080TI 22G。
首先clone项目仓库。
git clone https://github.com/YongXie66/Honor-of-Kings_RolePlay.git
cd Honor-of-Kings_RolePlay
然后做一些环境准备
conda create -n hok-roleplay python=3.10
conda activate hok-roleplay
pip install torch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2 --index-url https://download.pytorch.org/whl/cu118
#如果安装pytorch出现问题,这里的pytorch也可以根据自己的cuda版本去安装。
pip install -r requirements.txt
conda install -q ffmpeg
下载模型
git clone https://code.openxlab.org.cn/YongXie66/DaJi_RolePlay.git ./DaJi_RolePlay
bash ./DaJi_RolePlay/InternLM2/InternLM2_7b/download.sh
bash ./DaJi_RolePlay/FunASR/download.sh
移动模型到指定位置
# 模型位置移动
mv ./DaJi_RolePlay/GPT_SoVITS/pretrained_models/* ./GPT_SoVITS/pretrained_models/
mv ./DaJi_RolePlay/checkpoints/* ./checkpoints/
mv ./DaJi_RolePlay/gfpgan/* ./gfpgan/
接下来就是妲己,启动!
python webui.py
输入终端中的链接地址即可进入web ui。
web UI
目前 Web UI 中提供了Chatty_DaJi 和 Lively_DaJi 两种对话模式
- Chatty_DaJi:InternLM2-Chat-7b 微调后的基础小狐仙对话模型 + ASR
- Lively_DaJi:InternLM2-Chat-7b 微调 + ASR + TTS + voice clone + 数字人
访问终端中输出的地址就能进入交互页面
Lively_DaJi支持模拟妲己语音输出和数字人,能够更好地进行交互。