JimmyMa99 / WuJing-Chat

悟净-Chat是利用《西游记》中关于沙悟净的语句,以及Chat-GPT-3.5生成的相关问题结果,基于Internlm进行QLoRA微调得到的模仿沙悟净语气的聊天语言模型。

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

WuJing-Chat

 

项目简介

悟净-Chat是一个基于《西游记》剧本中悟净的台词和语句,以及使用InternLM进行QLoRA微调得到的模仿沙悟净语气的聊天语言模型。用户可以通过模型与悟净-Chat进行对话。

设备要求

  • CPU:Intel Core i5 或以上
  • GPU:(1/4) NVIDIA A100 或以上
  • 内存:32GB 或以上
  • 存储:至少50GB可用空间

最佳实践

⚙️部署悟净-Chatt到Linux环境中
# git clone 本 repo 以及其submodules
git clone --recurse-submodules https://github.com/JimmyMa99/WuJing-Chat.git

# 进入源码目录
cd xtuner

# 从源码安装 XTuner
pip install -e '.[all]'
apt install git git-lfs -y
git lfs install
git clone https://www.modelscope.cn/Shanghai_AI_Laboratory/internlm2-7b.git
xtuner train my_config/swj_internlm2_chat_7b_qlora_oasst1_e4.py --deepspeed deepspeed_zero2
xtuner convert pth_to_hf my_config/swj_internlm2_chat_7b_qlora_oasst1_e4.py work_dirs/swj_internlm2_chat_7b_qlora_oasst1_e4/{your checkpoint} process_data/hf_models/swj
xtuner convert merge {your model path} process_data/hf_models/swj process_data/merged_models/swj
  • 使用 streamlit 进行对话:修改 web_demo.py 中的模型路径
-     model = (AutoModelForCausalLM.from_pretrained('path/to/your/model',
-                                                 trust_remote_code=True).to(
-                                                     torch.bfloat16).cuda())
-     tokenizer = AutoTokenizer.from_pretrained('path/to/your/tokenizer',
-                                              trust_remote_code=True)
+     model = (AutoModelForCausalLM.from_pretrained('process_data/merged_models/swj',
+                                                 trust_remote_code=True).to(
+                                                     torch.bfloat16).cuda())
+     tokenizer = AutoTokenizer.from_pretrained('process_data/merged_models/swj',
+                                              trust_remote_code=True)
pip install streamlit
pip install transformers>=4.34
streamlit run ./web_demo.py

效果展示

预览

WuJing-Chat 截图

OpenXLab 链接

🎲在 OpenXLab 上尝试

数据处理

本项目采用《西游记》剧本中关于沙悟净的台词和语句作为训练数据,同时使用了InternLM进行QLoRA微调以生成更加贴合沙悟净风格的语言。

详细数据处理流程请参考以下链接:

相关拓展

News

[2024.2.14]:WuJing-Chat 权重公开至ModelScope 部署至 OpenXLab

[2024.2.16]:WuJing-Chat 添加文言文和白话文数据,重新训练并部署

Todo

  • qlora微调沙悟净
  • 增添文言文和白话文数据,优化原著对话数据
  • 全量微调沙悟净
  • 接入lmdeploy实现openai api

特别鸣谢

特别感谢上海人工智能实验室的支持!


🔍 探索WuJing-Chat(Internlm-chat-7b)

Static Badge


更多拓展

SanZang-Chat

XTuner

InternLM

About

悟净-Chat是利用《西游记》中关于沙悟净的语句,以及Chat-GPT-3.5生成的相关问题结果,基于Internlm进行QLoRA微调得到的模仿沙悟净语气的聊天语言模型。

License:Apache License 2.0


Languages

Language:Python 100.0%