「微信克隆人」火了!

1. 数据导出与预处理
WeClone 首先将微信导出的 CSV/SQLite 文件转为标准的 JSON 文件。 然后进行文本清洗,主要是为了去除噪声,以及过滤掉敏感信息。最后分割对话信息,对聊天记录进行分段标注,并保留时间戳、
2. 模型微调
WeClone 使用 ChatGLM3-6B 为基础模型,基于 LoRA 框架进行 SFT(Supervised Fine-Tuning)阶段的微调。
3. 模型部署
WeClone 使用 FastAPI/Flask 打包微调后的模型,支持 GPU/CPU 混合部署、多平台登录,并且支持自定义参数。
核心模块介绍
WeClone数字分身系统采用三大核心技术模块构建完整链路:
数据处理管道 → 智能微调引擎 → 灵活部署框架
让我们深入了解各模块的技术特色:
1. 智能数据处理管道
2. 高效微调引擎
以ChatGLM3-6B作为基座模型,采用LoRA(Low-Rank Adaptation)技术栈进行监督微调优化。
核心技术优势:
参数高效微调:利用低秩矩阵分解,大幅降低可训练参数规模
弹性训练架构:无缝支持单机到分布式的扩展,多GPU并行加速训练过程
:利用低秩矩阵分解,大幅降低可训练参数规模
:无缝支持单机到分布式的扩展,多GPU并行加速训练过程
3. 多元化部署框架
基于FastAPI/Flask构建轻量级模型服务,实现GPU/CPU异构计算的智能调度。提供跨平台统一接入能力,支持灵活的参数定制化配置,满足不同场景的部署需求。
安装部署教程1.环境搭建
建议使用 uv ,这是一个非常快速的 Python 环境管理器。安装uv后,您可以使用以下命令创建一个新的Python环境并安装依赖项,注意这不包含xcodec(音频克隆)功能的依赖:
git clonehttps://github.com/xming521/WeClone.git
cdWeClone
uv venv .venv --python=3.9
source.venv/bin/activate
uv pip install --group main -e .
Note
训练以及推理相关配置统一在文件 settings.json。
2.数据准备
请使用 PyWxDump 提取微信聊天记录。下载软件并解密数据库后,点击聊天备份,导出类型为 CSV ,可以导出多个联系人或群聊,然后将导出的位于 wxdump_tmp/export的 csv 文件夹放在 ./data目录即可,也就是不同人聊天记录的文件夹一起放在 ./data/csv。 示例数据位于 data/example_chat.csv。
3.数据预处理
项目默认去除了数据中的手机号、身份证号、邮箱、网址。还提供了一个禁用词词库 blocked_words ,可以自行添加需要过滤的词句(会默认去掉包括禁用词的整句)。 执行 ./make_dataset/csv_to_json.py脚本对数据进行处理。
在同一人连续回答多句的情况下,有三种处理方式:
4.模型下载
首选在 Hugging Face 下载 ChatGLM3 模型。如果在 Hugging Face 模型的下载中遇到了问题,可以通过下述方法使用魔搭社区,后续训练推理都需要先执行 export USE_MODELSCOPE_HUB=1来使用魔搭社区的模型。
由于模型较大,下载过程比较漫长请耐心等待。
exportUSE_MODELSCOPE_HUB=1 # Windows 使用 `set USE_MODELSCOPE_HUB=1`
git lfs install
git clonehttps://www.modelscope.cn/ZhipuAI/chatglm3-6b.git
魔搭社区的 modeling_chatglm.py文件需要更换为 Hugging Face 的。
5.配置参数并微调模型
(可选) 修改 settings.json 选择本地下载好的其他模型。
修改per_device_train_batch_size以及gradient_accumulation_steps来调整显存占用。
可以根据自己数据集的数量和质量修改num_train_epochs、lora_rank、lora_dropout等参数。
(可选) 修改 settings.json 选择本地下载好的其他模型。
修改per_device_train_batch_size以及gradient_accumulation_steps来调整显存占用。
可以根据自己数据集的数量和质量修改num_train_epochs、lora_rank、lora_dropout等参数。
运行 src/train_sft.py进行sft阶段微调,本人loss只降到了3.5左右,降低过多可能会过拟合,我使用了大概2万条整合后的有效数据。
python src/train_sft.py
7.多卡训练uv pip install deepspeed
deepspeed --num_gpus=使用显卡数量 src/train_sft.py
8.使用浏览器demo简单推理python ./src/web_demo.py
9.使用接口进行推理python ./src/api_service.py
10.使用常见聊天问题测试python ./src/api_service.py
python ./src/test_model.py
听过以上的解释后,你对微信克隆项目有什么真正的想法了吗!
无论是想要设计一个独特的角色形象,亦或是创造一个充满想象力的助理,这个微信克隆人工具都能帮你实现。
别再犹豫了,赶快按照以上的流程做一做吧,相信我,当你看到自己的想法变成现实的那一刻,你一定会被深深吸引。
快去体验吧!返回搜狐,查看更多