2026/9/9 14:56:10

如何用 WeClone 快速完成大语言模型微调:基于微信聊天记录的数字分身完整搭建路径

如何用 WeClone 快速完成大语言模型微调:基于微信聊天记录的数字分身完整搭建路径 如何用 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 做的事情就是把你的微信聊天记录喂给一个开源大语言模型默认 ChatGLM3-6B用 LoRA 微调出一个只学你风格的数字分身再把它接回微信里让朋友直接和另一个你对话。WeClone 的定位从聊天记录到数字分身的最短路径通用大模型会聊天但不会像你。WeClone 的定位很克制不做通用问答只给一条最短路径——导出微信聊天记录、清洗成训练数据、SFT 微调、部署成可用聊天机器人。默认底座是 ChatGLM3-6B 加 LoRASFT 阶段约需 16GB 显存单机就能跑不需要多卡集群。最小上手路径从克隆到训练只需 4 条命令git clone https://gitcode.com/GitHub_Trending/we/WeClone cd WeClone conda create -n weclone python3.10 conda activate weclone pip install -r requirements.txt python src/train_sft.py所有训练与推理参数集中在 settings.json 里per_device_train_batch_size和gradient_accumulation_steps控制显存占用num_train_epochs、lora_rank、lora_dropout控制训练强度。多卡场景安装deepspeed后改用deepspeed --num_gpus卡数 src/train_sft.pyZeRO-2 配置在 ds_config.json。数据脚本怎么选PT 与 SFT 各适合什么阶段数据处理脚本集中在 make_dataset/ 下核心差异是同一个人连续发了多句话时怎么处理csv_to_json.py默认多句用逗号拼成一条回答数据量最大绝大多数场景用这个。csv_to_json-单句多轮.py多句放进提示词的history字段对应data/res_csv/sft/dataset_info-with-his.json适合想保留多轮上下文的场景。csv_to_json-单句回答.py已废弃只在多句中取最长一句一般不用。项目默认会剔除手机号、身份证号、邮箱、网址还能往 blocked_words.json 里加禁用词命中即整句丢弃。训练阶段上SFT 是必做的一步train_sft.pyPTtrain_pt.py是可选的前置阶段用纯文本继续预训练作者自己在 README 里说 PT 提升效果不明显除非数据量特别大优先把精力放在 SFT 上。三种部署方式CLI、Web、微信机器人命令行python src/cli_demo.py终端里直接对话支持clear清历史、exit退出。适合先验证模型有没有学到位。Web 界面python src/web_demo.py浏览器里对话方便给朋友演示。微信机器人这是数字分身真正落地的形态。先python src/api_service.py起推理服务再python src/wechat_bot/main.py扫码登录私聊或群里 都能触发回复。机器人代码在 src/wechat_bot/消息处理逻辑在 handler/text.py。另外两个工具按需使用src/test_model.py跑常见聊天问题做简单回归src/export_model.py把 LoRA 权重合并导出方便后续部署。训练与部署中容易踩的 4 个坑数据量与质量是天花板作者自己用了约 2 万条整合数据也承认最终效果很大程度取决于聊天数据的数量和质量。数据少的时候别期待模型真的像本人。SFT 的 loss 别压得太低作者实测只降到 3.5 左右再低可能过拟合风格会被学成死记硬背。微信有封号风险README 明确建议用小号且该账号必须绑卡才能通过 itchat 登录。显存不够就调 batch sizeper_device_train_batch_size和gradient_accumulation_steps是显存占用的两个主旋钮比硬堆卡数更实用。从聊天记录到能聊天的分身WeClone 给的是最短路径而不是万能药——效果上限取决于你的数据而不是脚本。下一步建议先按上面的最小路径跑通train_sft.py并打开 Web demo 对话一次再决定要不要接进微信。【免费下载链接】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),仅供参考