virtualwife-llm-factory 是一个llm训练框架,用于解决虚拟角色训练入门门槛高的问题,该框架具备自动生成语料,性格塑造评估,基于国产llm微调训练等核心能力,目前还在开发,可以点个star~ 关注一下
├── analysis # 数据集自动分割工具
├── config # 训练配置
├── dataset # 数据集存储位置、数据集自动生成工具
├── evaluate # 数据集评估工具(性格、人设等)、模型评分工具
├── finetune # 微调训练框架
├── models # 模型集
├── output # 结构输出位置
└── tools # 工具集
- 安装机器学习相关依赖
- 注意:需要确认操作系统和cuda版本,本示例是以linux系统为准,具体请查阅 https://pytorch.org/
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
- 安装项目依赖
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple some-package
- 查询tools参数明细
python tools.py -h
- 工具说明:
- 作用:从B站下载视频,并且将视频中的内容转换为csv文件,输出的csv文件需要人工标注对话所属角色
- 用途:准备角色训练集
- 使用示例
python tools.py --tool_name bilibili_video_to_csv \
--video_ids BV1AC4y1U77e \
--bilibili_cookie "<Your cookie>" \
--output_path output
- 工具说明:
- 作用:将标记好的csv文件转换为标准数据集格式,方便fine-tuning
- 用途:准备角色训练集
- 使用示例
python tools.py --tool_name qa_csv2dataset_tool \
--csv_dir_path output/example \
--output_path output
- 工具说明:
- 前置条件:在models下载模型:git clone https://huggingface.co/BAAI/bge-large-zh-v1.5
- 作用:生成角色安装包
- 用途:将角色Prompt和对话语料打包,结合RAG技术使用,具体使用方式请参考example/run_role_package.py,未来virtualwife会支持直接导入角色安装包
- 使用示例
python tools.py --tool_name gen_role_package_tool \
--embed_model_path models/baai/bge-large-zh-v1.5 \
--role_name example \
--system_prompt_path dataset/example_system_prompt.txt \
--dataset_path dataset/example_dataset.xlsx \
--output_path output
- 一键微调模型
export CUDA_VISIBLE_DEVICES=6 && python workflow.py --config_path config/example