WeClone 完整教程:用微信聊天记录微调大模型,做出你的 AI 数字分身
【免费下载链接】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
WeClone 是一个从聊天记录创建 AI 数字分身的大语言模型微调项目:把微信聊天导出的 CSV 记录转成训练集,跑一次 LoRA 微调,一张 16GB 显存的显卡就能得到一个"说话像你"的聊天机器人,还能挂回微信里自动回复。从数据到上线,实际只分四步。
🚀 第一次跑通:把微信聊天记录变成训练数据集
先 clone 仓库并装依赖:
git clone https://gitcode.com/GitHub_Trending/we/WeClone pip install -r requirements.txt数据是效果的关键。用 PyWxDump 把微信聊天记录解密导出为 CSV(导出类型选 CSV),再把这些文件放进data/csv目录。然后执行项目自带的预处理脚本,它会只保留你发出的消息,并自动过滤手机号、身份证、邮箱、网址:
./make_dataset/csv_to_json.py脚本在make_dataset/下有三个变体,区别只在"同一个人连发多句"时怎么处理:默认版用逗号拼接,单句多轮.py会把历史句放进提示词的history字段。另外make_dataset/blocked_words.json是禁用词库,命中整句直接丢弃,可以按自己的隐私需求往里加词。
🎯 第一次出效果:16GB 显存 LoRA 微调 ChatGLM3
默认底座是 ChatGLM3-6B,用 LoRA 方式做 SFT 微调,约 16GB 显存。把模型下载到本地后,改两个地方就能开始训练:
settings.json里按自己的数据量调整num_train_epochs、lora_rank,显存吃紧就调小per_device_train_batch_size- 训练入口是
src/train_sft.py,作者实测 loss 降到 3.5 左右,降太多容易过拟合
python src/train_sft.py单卡不够就上多卡:装好 deepspeed 后用deepspeed --num_gpus=N src/train_sft.py启动即可。仓库还提供了src/train_pt.py的预训练阶段脚本,但作者自己的结论是提升不明显,新手可以跳过。
💬 第一次分享给别人:Web 演示、命令行和微信机器人
训练完先自己把玩。Web 演示一条命令起服务,浏览器打开就能聊:
python ./src/web_demo.py命令行交互用src/cli_demo.py,对外提供服务则启动src/api_service.py,之后可以配合src/test_model.py用一组常见聊天问题给模型"体检"。
想让它住进微信,就把它部署成微信机器人:先起 API 服务,再跑src/wechat_bot/下的入口,终端会出登录二维码,扫码后私聊或群里 @ 都能用:
python ./src/api_service.py python ./src/wechat_bot/main.py提醒一句:微信有封号风险,建议用小号,并且该号必须绑定银行卡。
⚙️ 三个高频问题:显存不够、换模型、效果差怎么办
- 显存不够:官方表格里 QLoRA 4-bit 跑 7B 只要 6GB。项目基于 LLaMA Factory 生态,换 QLoRA、换更小的模型(如 7B 以下)改
settings.json里对应字段即可,模板system提示词要同步调整。 - 换模型:默认 ChatGLM3 之外可换 LLaMA Factory 支持的任意模型,下载后把
settings.json里的model_name_or_path指向本地路径。 - 效果差:作者用 2 万条数据也只能"差强人意但有时很搞笑"。效果很大程度上取决于聊天数据的数量和质量,先扩充数据比调参更有用。
聊天记录就是你独一无二的"语料库",别人复制不走。找个周末,把四步跑完,你的数字分身就能替你先回几轮消息了。
【免费下载链接】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),仅供参考