用微信聊天记录训练 WeClone 数字分身:从零到上线完整教程
【免费下载链接】WeClone🚀 One-stop solution for creating your AI twin from chat history 💡 Fine-tune LLMs with your chat logs to capture your unique style, then bind to a chatbot to bring your digital self to life.项目地址: https://gitcode.com/GitHub_Trending/we/WeClone
假如你想让 AI 用你的语气在微信里回消息、代你应付闲聊和重复问题,WeClone 就是为这个场景做的:先导出你的微信聊天记录,用它微调一个大语言模型,得到一个数字分身,再把分身绑定到聊天入口就能持续提供服务。本教程按"数据 → 训练 → 上线"的完整链路走一遍,每步都给出可直接执行的命令。
项目速览:数字分身搭建的三个阶段
WeClone 的核心链路只有一条:聊天记录 → 模型微调 → 对话 API,三个阶段在仓库里各对应一个位置。
- 数据:用 PyWxDump 之类的工具把聊天记录导出为 CSV 放进
data/目录,make_dataset/ 下的脚本会剔除手机号、身份证号等敏感内容,并可按禁用词库整句过滤后转成训练集 - 训练:基于 llmtuner 框架对默认底座 ChatGLM3-6B 做 LoRA 微调(只训练少量低秩矩阵,显存需求远低于全参训练);数据量和质量直接决定分身像不像你
- 服务:训练完成后由
src/api_service.py起一个对话 API,微信机器人与终端对话都调用这同一个接口
WeClone 环境要求与依赖安装
环境搭建 1 小时内可以完成,唯一硬性前置是一台带 GPU 的机器,因为默认 7B 模型走 LoRA 微调约需 16GB 显存。
开始前对照这份清单:
- Python 3.8 以上(推荐 3.10)
- 内存 ≥8GB;要训练的话建议显存 ≥16GB 的显卡
- 已安装 Git
然后分三步走。第一步,克隆代码:
git clone https://gitcode.com/GitHub_Trending/we/WeClone cd WeClone第二步,装依赖。requirements.txt 锁定了 llmtuner==0.5.3(微调框架)和 itchat-uos(微信接口)两个核心包,外加 pandas、chromadb 等数据处理工具:
pip install -r requirements.txt第三步,启动验证。直接跑终端对话:
python src/cli_demo.py首次运行会先拉取底座模型;问一句能看到流式回复输出,就说明链路通了,可以先熟悉一下界面里的exit(退出)和clear(清空历史)两个命令。
WeClone 用法走查
入口一共三个:终端对话、微信机器人、重新训练,各自对应一个入口文件。
命令行对话启动方式
入口是 src/cli_demo.py,运行python src/cli_demo.py即可,无需任何参数。终端里输入问题,模型流式返回回答;建议每聊十几轮执行一次clear,把历史清掉、释放显存。
微信聊天机器人部署步骤
src/wechat_bot/ 里的机器人只是本地 API 的客户端,必须先起服务再登录微信,两条命令分别在两个终端里执行:
python src/api_service.py python src/wechat_bot/main.py第二条命令执行后终端会打印二维码,扫码登录成功即可私聊,或到群里 @它 触发回复;第一个终端要保持运行。
数据转换与模型训练流程
把导出的 CSV 放到data/csv,运行 make_dataset/ 下脚本生成 JSON 训练数据,默认把同一人连续的多句回答用逗号合并。训练分两段:src/train_pt.py 是预训练,可跳过;src/train_sft.py 是微调,必做,运行python src/train_sft.py即可。学习率、批大小等参数集中在 settings.json 里调整;多卡训练用 deepspeed 拉起,配置见 ds_config.json。
常见坑与处理办法
新手卡住的基本是四类问题,按现象对号入座即可。
- 显存不足训练中断:日志报 OOM 时,调小 settings.json 里的
per_device_train_batch_size与gradient_accumulation_steps,或改用 QLoRA,4bit 量化下 7B 微调可压到约 6GB 显存。 - 扫码登录不上或频繁失效:itchat-uos 走的是微信网页版接口,部分账号受限;换一个小号并确保已绑定银行卡,主号不要上——README 明确提示有封号风险。
- 回复速度慢:机器人默认保留 15 轮对话历史,轮次越多生成越慢;先确认推理跑在 GPU 上,也可以把历史长度调短换速度。
- 聊天数据有隐私泄露风险:脚本默认去除手机号、身份证号、邮箱、网址,make_dataset/blocked_words.json 可追加自己的禁用词;训练前仍建议把导出的 CSV 人工过一眼。
下一步很具体:把data/csv里示例 CSV 换成你自己导出的聊天记录,重跑一遍python src/train_sft.py,再启动 API 服务,得到的就是一个真正像你说话的 WeClone 数字分身。
【免费下载链接】WeClone🚀 One-stop solution for creating your AI twin from chat history 💡 Fine-tune LLMs with your chat logs to capture your unique style, then bind to a chatbot to bring your digital self to life.项目地址: https://gitcode.com/GitHub_Trending/we/WeClone
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考