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 数字分身。
💬 认识WeClone:聊天记录也能炼成模型
WeClone 是一个从聊天记录创建数字分身的一站式方案,适合三类人:想给自己造个"电子替身"的玩家、想用真人语气做客服或陪伴机器人的开发者,以及想体验大语言模型微调全流程的学习者。
它做的事情用一句话说清:让你自己的对话数据教模型说话,最后得到一个"嘴替"级别的聊天机器人。
和常见的"直接调 API 写 prompt"不同,WeClone 走的是真正微调的路线。它基于 ChatGLM3-6B 这类开源底座模型,采用 LoRA 方式训练——不需要动原模型的全部参数,一块 16GB 显存的显卡就能跑起来,对普通开发者相当友好。显存不够时,官方文档 README.md 里还给了 QLoRA 的估算表,8GB 显存也能尝试 7B 模型。
⚙️ WeClone是怎么运转的:从聊天数据到会说话的模型
把整条链路拆开看,其实就是一次"输入→加工→训练→上岗"的过程。
第一步,拿到原料。你的微信聊天记录先被导出成 CSV 文件,放进项目的 data 目录。这一步是决定上限的环节——官方也坦白提醒:最终效果很大程度取决于数据的数量和质量。作者自己用了大约两万条有效数据,效果"差强人意但有时候真的很搞笑"。
第二步,清洗与整形。项目里的 make_dataset/csv_to_json.py 负责把杂乱的 CSV 变成模型能吃的训练样本。手机号、身份证号、邮箱、网址会被自动剔除;你还能往 make_dataset/blocked_words.json 里加禁用词,含敏感词句的整条对话会被整句过滤。同一个人连发多句时也有三种处理策略:逗号拼接、只留最长一句、或者塞进多轮历史的 "history" 字段,分别对应目录下的三个脚本,你可以按自己的数据形态挑。
第三步,轻量微调。训练和推理的配置都集中在 settings.json 里,比如学习率、轮数、LoRA 的 rank 和 dropout。跑一下 src/train_sft.py,模型会沿着监督微调(SFT)的路径学会"像你一样回答"。作者的经验是:loss 降到 3.5 左右比较稳,降得太狠容易过拟合——模型会把你的聊天背下来,而不是学会你的风格。如果你有多卡环境,也可以用 DeepSpeed 起多卡训练,配置参考 ds_config.json。
第四步,上岗服务。训练产物是一个 LoRA 适配器,加载后就能对外提供推理:浏览器网页、命令行、API 接口,甚至直接接回微信,你的数字分身就"复活"了。
🚀 快速上手:四步跑出你的数字分身
1. 搭环境
git clone https://gitcode.com/GitHub_Trending/we/WeClone cd WeClone && pip install -r requirements.txt建议 Python 3.10 + CUDA 环境,具体版本要求见 README.md 里的软件要求表。
2. 准备数据
把整理好的 CSV 聊天记录放进 data 目录,执行python make_dataset/csv_to_json.py完成清洗转换,产出的训练集信息记录在 data/res_csv/sft/dataset_info.json。
3. 训练模型
先下载 ChatGLM3-6B 底座模型(Hugging Face 或魔搭社区均可,国内用后者更省心),确认 settings.json 里的model_name_or_path指向正确,然后:
python src/train_sft.py显存紧张时,调小per_device_train_batch_size、加大gradient_accumulation_steps即可。
4. 上线体验
python src/web_demo.py浏览器里就能和"另一个你"对话了,效果类似下面这样:
🧩 WeClone还能做什么:从网页聊天到微信机器人
跑通基础流程后,这个项目的扩展面比想象中大。
- 命令行与接口双通道:src/cli_demo.py 提供终端里的轻量对话;src/api_service.py 把模型包成 HTTP 服务,方便接入你自己的应用。
- 部署成微信机器人:启动 API 服务后运行 src/wechat_bot/main.py,终端会显示登录二维码,扫码后私聊或在群里 @ 它就能获得你"本人"的回复。需要留意的是,微信侧存在封号风险,官方建议用小号、并绑定银行卡后使用。
- 测试与评估:用 src/test_model.py 跑一批常见聊天问题,直观检验分身像不像你;配合 src/evaluate.py 做更系统的评估。
- 模型导出:训练完成后用 src/export_model.py 合并导出,部署到其他环境更省事。
- 参数与数据都可调:禁用词库、训练轮数、LoRA 超参都是开放给你的旋钮;预训练阶段(PT)的数据处理和 src/train_pt.py 也一并提供,想深挖效果可以叠加使用,尽管作者实测提升有限。
README 里还预留了 RAG 知识补充和多模态两个方向,意味着未来你的分身不仅能"像你说话",还可能"懂你说过的事"。
写在最后
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
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考