WeClone:从聊天记录创造你的数字分身

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

环境搭建

  1. 安装CUDA:要求版本12.4及以上(已安装可跳过)
  2. 安装依赖
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 .
  1. 配置文件设置
cp settings.template.jsonc settings.jsonc
  1. 测试CUDA环境
python -c "import torch; print('CUDA是否可用:', torch.cuda.is_available());"
  1. (可选)安装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等平台。部署步骤:

  1. 部署AstrBot
  2. 在AstrBot中配置消息平台
  3. 启动WeClone API服务
  4. 在AstrBot中新增服务提供商,选择OpenAI类型,填写相应配置
  5. 关闭工具调用功能:发送/tool off all指令
  6. 设置系统提示词和调整采样参数

📝 免责声明

WeClone项目仅供学习交流使用,请勿用于非法用途,特别是窃取他人隐私。项目要求:

  • 仅在授权情况下使用数据训练
  • 下载后24小时内删除源代码和程序
  • 禁止用于窃取隐私、非法测试或渗透

🔮 未来规划

WeClone的路线图包括:

  • 更丰富的上下文:包括上下文对话、聊天对象信息等
  • Memory 支持
  • 多模态支持
  • 数据增强
  • GUI支持

🔗 项目链接

GitHub:https://github.com/xming521/WeClone


WeClone项目为数字分身技术提供了一个开放、易用的解决方案,通过微调大模型来保留个人聊天风格的特点,让AI更像"你"。如果你对数字分身、大语言模型微调感兴趣,不妨一试,让AI成为你的数字分身,传递你的语言和思想。

请记住,技术本身没有善恶,使用时请遵守法律法规和道德准则,尊重他人隐私权益。