打造你的数字分身:WeClone让AI学会你的聊天风格
WeClone:从聊天记录创造你的数字分身
WeClone是一个开源项目,提供从聊天记录创造数字分身的一站式解决方案。通过微调大语言模型,让AI学习你的聊天风格,再将其绑定到聊天机器人,实现具有"你的味道"的数字分身。项目目前已获得超过6.3k的Star和480个Fork,正处于快速迭代期。
✨ 核心功能
- 全链路方案:涵盖聊天数据导出、预处理、模型训练、部署的完整流程
- 个性化微调:使用微信聊天记录微调LLM,让大模型学习你的聊天风格
- 多平台支持:可绑定到微信、QQ、Telegram、企微、飞书等多个聊天平台的机器人
- 隐私保护:提供隐私信息过滤功能,本地化微调部署,确保数据安全可控
🔍 项目特点
WeClone使用LoRA技术对大语言模型进行微调,默认使用Qwen2.5-7B-Instruct模型。微调效果很大程度取决于模型大小和聊天数据的数量与质量——理论上模型越大,数据越多,效果越好。
🖥️ 环境要求
硬件需求
项目默认使用Qwen2.5-7B-Instruct模型,采用LoRA方法进行SFT阶段微调,至少需要16GB显存。显存需求因模型大小和精度而异:
方法 | 精度 | 7B | 14B | 30B | 70B |
---|---|---|---|---|---|
LoRA/GaLore等 | 16位 | 16GB | 32GB | 64GB | 160GB |
QLoRA | 8位 | 10GB | 20GB | 40GB | 80GB |
QLoRA | 4位 | 6GB | 12GB | 24GB | 48GB |
环境搭建
- 安装CUDA:要求版本12.4及以上(已安装可跳过)
- 安装依赖:
git clone https://github.com/xming521/WeClone.git
cd WeClone
uv venv .venv --python=3.10
source .venv/bin/activate # Windows下执行 .venv\Scripts\activate
uv pip install --group main -e .
- 配置文件设置:
cp settings.template.jsonc settings.jsonc
- 测试CUDA环境:
python -c "import torch; print('CUDA是否可用:', torch.cuda.is_available());"
- (可选)安装FlashAttention加速训练:
uv pip install flash-attn --no-build-isolation
🤖 使用流程
1. 模型下载
git lfs install
git clone https://www.modelscope.cn/Qwen/Qwen2.5-7B-Instruct.git
2. 数据准备
使用PyWxDump提取微信聊天记录(注意:不支持4.0版本微信):
- 建议先将手机聊天记录备份到电脑
- 下载PyWxDump并解密数据库
- 导出类型选择CSV
- 导出多个联系人记录(不建议使用群聊记录)
- 将导出的csv文件夹放在
./dataset/csv
目录
3. 数据预处理
项目默认会过滤手机号、身份证号、邮箱、网址等敏感信息,可在settings.jsonc中添加更多需要过滤的词句。
weclone-cli make-dataset
数据处理支持时间窗口策略,可根据设置将单人连续消息合并以及匹配问答对。还可启用数据清洗功能,使用大模型对聊天记录进行打分,筛选出高质量数据。
4. 模型微调
修改settings.jsonc配置参数,如模型路径、batch大小、LoRA参数等,然后执行:
weclone-cli train-sft
多卡训练需要:
uv pip install deepspeed
deepspeed --num_gpus=使用显卡数量 weclone/train/train_sft.py
5. 模型测试与使用
- 浏览器演示:
weclone-cli webchat-demo
- 启动API服务:
weclone-cli server
- 使用测试问题验证:
weclone-cli test-model
6. 部署到聊天机器人
WeClone可以与AstrBot(多平台LLM聊天机器人框架)配合使用,支持QQ、微信、Telegram等平台。部署步骤:
- 部署AstrBot
- 在AstrBot中配置消息平台
- 启动WeClone API服务
- 在AstrBot中新增服务提供商,选择OpenAI类型,填写相应配置
- 关闭工具调用功能:发送
/tool off all
指令 - 设置系统提示词和调整采样参数
📝 免责声明
WeClone项目仅供学习交流使用,请勿用于非法用途,特别是窃取他人隐私。项目要求:
- 仅在授权情况下使用数据训练
- 下载后24小时内删除源代码和程序
- 禁止用于窃取隐私、非法测试或渗透
🔮 未来规划
WeClone的路线图包括:
- 更丰富的上下文:包括上下文对话、聊天对象信息等
- Memory 支持
- 多模态支持
- 数据增强
- GUI支持
🔗 项目链接
GitHub:https://github.com/xming521/WeClone
WeClone项目为数字分身技术提供了一个开放、易用的解决方案,通过微调大模型来保留个人聊天风格的特点,让AI更像"你"。如果你对数字分身、大语言模型微调感兴趣,不妨一试,让AI成为你的数字分身,传递你的语言和思想。
请记住,技术本身没有善恶,使用时请遵守法律法规和道德准则,尊重他人隐私权益。
- 原文作者:iamdev
- 原文链接:https://blog.iamdev.cn/post/2025/%E6%89%93%E9%80%A0%E4%BD%A0%E7%9A%84%E6%95%B0%E5%AD%97%E5%88%86%E8%BA%ABWeClone%E8%AE%A9AI%E5%AD%A6%E4%BC%9A%E4%BD%A0%E7%9A%84%E8%81%8A%E5%A4%A9%E9%A3%8E%E6%A0%BC/
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止转载 4.0 国际许可协议进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。