六步跑出会说话的微信数字分身:WeClone 完整实战教程
2026/9/17 23:09:32 网站建设 项目流程

六步跑出会说话的微信数字分身: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

WeClone 用你的微信聊天记录微调大语言模型,再把权重挂上微信机器人,做出一个"数字分身":从此私聊、群里 @ 它,都有人以你的口吻自动回话。全流程六步、六条核心命令,从环境搭建到机器人扫码上线,本地跑完,不用任何付费服务。先说在前头:微信上跑机器人有封号风险,请用小号;最耗时的环节是基座模型下载,其余都是命令级的工作。机器人能维护多轮对话历史,角色设定也能改。

🧮 16GB 显存够用:先确认你的机器和账号

先下判断:16GB 显存刚好够。默认基座是 chatglm3-6b,走 LoRA 只更新部分参数,SFT 阶段显存落在 16GB 上下。

显存不够有两条退路:把 settings.json 里的批次大小和梯度累积步数调小(默认 4×8);或者换 QLoRA 量化,官方估算表里 7B 模型 QLoRA 8 位约 10GB,4 位只要 6GB。项目基于 LLaMA-Factory,想换其他模型或方法可以照它的思路扩展,模板提示词需自行调整。

软件端要 Python 3.10 加 CUDA 环境,依赖版本在 requirements.txt 里写死,一条命令装齐。资源端还要两样:chatglm3-6b 模型权重,以及一个绑定了银行卡的微信号用于机器人登录。

有一张 16GB 的卡加一个小号,就能做。

🗂️ 聊天记录导成 CSV,一个脚本洗成训练数据

数据质量决定效果上限。作者用了约 2 万条有效数据,自称效果"差强人意",数据是整个项目里权重最大的变量。

导出:用 PyWxDump 工具解密并导出微信聊天记录,类型选 CSV,每个联系人或群聊一个文件夹,全部放进./data/csv/目录。

清洗:执行一条命令:

python make_dataset/csv_to_json.py

脚本会自动删掉含手机号、身份证号、邮箱、网址的行;想多过滤什么,就往 make_dataset/blocked_words.json 里加词,含禁用词的整句直接丢弃。同一个人连发多句默认合并成一句,想保留多轮对话历史,就改用 make_dataset/ 目录下的多轮处理脚本。跑完,训练集落在./data/res_csv/sft/下。

产出的数据读起来像你,数据这一关就及格了。

🚀 训练到上线一条闭环:训完扫码即用

第一步是环境搭建,四条命令按顺序走:

git clone https://gitcode.com/GitHub_Trending/we/WeClone conda create -n weclone python=3.10 conda activate weclone cd WeClone && pip install -r requirements.txt

然后是权重:chatglm3-6b 首选 Hugging Face,网络不稳就换魔搭社区,统一放到./chatglm3-6b/目录,这正是 settings.json 里模型路径的默认值。用魔搭版的话,训练和推理前都要执行export USE_MODELSCOPE_HUB=1

训练就一条命令:

python src/train_sft.py

有多张卡就先装 deepspeed,再用 deepspeed --num_gpus=卡数 src/train_sft.py 分摊。作者的 loss 停在 3.5 左右,掉得过低反而过拟合,盯着看。

训完立刻起本地页面试几轮:

python src/web_demo.py

回复语气像你,训练就成了;不像别急着上线,先回调优一节。

上线是两条终端各起一个进程,API 服务在前、机器人随后:

python src/api_service.py
python src/wechat_bot/main.py

终端打印二维码,微信扫码登录。私聊它、群里 @ 它就开始回话,对话历史由 src/wechat_bot/main.py 按会话维护。

朋友聊几句认不出是机器人,就成了。

🎛️ 想更像你:三个调优点

训练参数全在 settings.json,不用动代码:批次大小、学习率、LoRA 秩、训练轮数都在这里,按数据集的数量和质量调。

角色设定在 src/template.py:默认系统提示词是"请你扮演一名人类,不要说自己是人工智能",改这一句,机器人的说话人设就换了。

根子还是数据:效果平淡先看数据量和覆盖度,补上密友的聊天记录,重跑 csv_to_json.py 清洗再重训,这一步比调任何参数都见效。

调效果,八成是数据问题,两成才是参数问题。

⚠️ 上线前必须知道的三件事:封号、隐私、成本

封号:微信对机器人行为敏感,项目 README 明确提示有封号风险,用机器人也可能违反平台规则,所以务必用小号,且该账号必须绑定银行卡。

隐私:聊天记录是高敏感数据。脚本只剔除手机号、证件号、邮箱、网址这类结构化信息,跑之前自己过一遍记录,不想进模型的话用禁用词库拦掉整句。数据全程只在本地训练,不外传。

成本:主要开销是一张 16GB 级别的显卡,推理全部本地完成,没有 API 账单。

小号试错,最坏也就是损失一个号。

🧭 下一步:用最小数据先把闭环跑起来

别贪心,一次把所有记录全扔进去。先用一位密友的聊天记录把六步走通,口吻出来后,再逐步扩人群、重训——效果提升最直接的往往就是这一步。

先跑通闭环,再谈效果。

【免费下载链接】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),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询