news 2026/9/9 18:29:23

WeClone上手指南:把微信聊天记录调教成会说话的AI数字分身

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
WeClone上手指南:把微信聊天记录调教成会说话的AI数字分身

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 数字分身。本文带你走通完整链路——装依赖、生成训练集、用约 16GB 显存微调 7B 模型、在浏览器里和分身对话,最后还可以接上微信。

下载项目并安装全部依赖

先确认硬件:项目默认用 ChatGLM3-6B 作底模,SFT(监督式微调,即用"问题-回答"成对数据教模型)阶段采用 LoRA(低秩适配,只训练一小块附加参数、原权重不动),大约需要 16GB 显存。显存不够时,可换 QLoRA(对参数做量化压缩以省显存的 LoRA 变体)或换更小的模型。Python 最低 3.8,推荐 3.10。

git clone https://gitcode.com/GitHub_Trending/we/WeClone cd WeClone

进入目录后能看到 README.md、settings.json 等文件即成功。接着装依赖:

pip install -r requirements.txt

装完应无任何报错,且pip show llmtuner能显示版本——llmtuner(LLaMA-Factory)是本项目微调的核心依赖。

把微信聊天记录变成训练集

模型不能直接读聊天记录,需要先用开源工具 PyWxDump 把微信记录解密并导出为 CSV(逗号分隔的纯文本表格),再把导出的 csv 文件夹放进项目./data目录,每个联系人一个文件夹。

然后运行 make_dataset/csv_to_json.py(聊天记录转训练集的脚本):

python make_dataset/csv_to_json.py

脚本会顺手删掉手机号、身份证号、邮箱、网址等敏感字段;你还能往 make_dataset/blocked_words.json(自定义屏蔽词表)里加词,凡含这些词的句子会被整句丢弃。

对方连续回多句时选哪个脚本

默认脚本会把连续多句拼成一条长回答;若希望每句各算一轮对话,改用 make_dataset/csv_to_json-单句多轮.py(额外对话存入 history 字段,产出 data/sft/dataset_info-with-his.json)。跑完后 data/res_csv、data/sft 目录下出现 dataset_info.json,训练集就备好了。

下载底模并启动SFT微调

两个模型下载渠道

ChatGLM3-6B 可去 Hugging Face 模型社区直接下载,网络不畅则改用魔搭社区,并在之后所有训练、推理前设置环境变量:

export USE_MODELSCOPE_HUB=1

Windows 上写set USE_MODELSCOPE_HUB=1。设置后用echo $USE_MODELSCOPE_HUB看到 1 即生效。

训练与推理参数集中在 settings.json(训练推理统一配置文件):显存吃紧就调小 per_device_train_batch_size 和 gradient_accumulation_steps;按数据量调整 num_train_epochs(训练轮数)和 lora_rank(附加参数量)。作者的经验值:SFT loss 降到 3.5 左右即可,再低容易过拟合。

python src/train_sft.py

src/train_sft.py 是 SFT 微调入口,终端会逐 step 打印 loss,checkpoint 会保存到输出目录。多卡训练需先pip install deepspeed,再以deepspeed --num_gpus=卡数 src/train_sft.py启动。

在浏览器里和模型对话

python src/web_demo.py

src/web_demo.py 是网页对话入口。终端打印出服务地址后,在浏览器打开该地址发一条消息,微调后的分身会用你的语气作答;首轮略慢属正常,是模型在加载。

把微调好的模型接上微信机器人

微信回复需要两步:先启动 src/api_service.py(给外部程序提供模型推理的接口服务),再启动 src/wechat_bot/main.py(微信机器人入口):

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

第二条命令会在终端打印二维码,扫码登录后即可私聊或在群里 @ 它获取回复。注意微信有封号风险,建议用小号。只想批量验证效果而不接微信的话,运行 src/test_model.py(用常见聊天问题做批量测试)。

下一步建议

  • 分身"不像你"时先回查数据:核对 data/sft/dataset_info.json 里的条数与噪声,往 blocked_words.json 补词后重跑转换与微调。
  • 试试 SFT 前先做 PT(预训练阶段,只喂文本让模型通读)打底,入口 src/train_pt.py(PT 预训练入口,对应数据在 data/res_csv/pt)。

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/9 18:28:06

腾讯云CloudBase实测:从云函数到云托管的全栈开发避坑指南

不铺垫了,先给一句话结论:腾讯云 CloudBase 不是"小程序专属后端",它是一套完整的云原生开发平台,只不过因为历史原因,很多人只把它当成"微信小程序一键托管"在用。如果你绕过那层刻板印象&#x…

作者头像 李华
网站建设 2026/9/9 18:26:10

Ceph中文文档与集群部署运维实战:从cephadm到排障

简介:这份资料是Ceph存储集群部署的完整中文参考文档包,面向Linux运维工程师、云平台架构师及希望深入理解Ceph对象存储、块设备与文件系统的技术人员。内容围绕节点部署、网络配置和存储集群初始化展开,覆盖配置示例、脚本工具与排错思路&am…

作者头像 李华
网站建设 2026/9/9 18:25:49

华为交换机端口模式Access、Trunk、Hybrid详解与eNSP配置实战

1. 三种端口模式到底在解决什么问题很多刚接触华为交换机和 eNSP 的初学者,最容易卡住的地方不是配 IP,也不是配路由,而是搞不懂端口模式里的 Access、Trunk、Hybrid 到底有什么区别。网上教程很多,但大多数只丢给你一张对比表&am…

作者头像 李华
网站建设 2026/9/9 18:25:46

非线性相关识别:最大互信息系数MIC原理与Matlab实现

简介:基于最大互信息系数(MIC)的Matlab实现资源,面向需要做非线性相关性分析与特征选择的科研人员、数据挖掘工程师,可直接在Matlab环境中调用。包内提供完整C/C核心算法源码、Matlab封装接口(mine.m&#…

作者头像 李华
网站建设 2026/9/9 18:25:43

PDF.js 2.2.228集成实战:老项目PDF预览与避坑指南

简介:pdfjs-2.2.228-dist.rar 是 Mozilla 团队开源的 PDF.js 库 2.2.228 构建分发包,专为 Web 前端工程师和需要在线预览 PDF 的开发者准备,目标是提供无需浏览器插件的高质量、跨平台阅读体验,同时解决原生 PDF 支持差异与界面定…

作者头像 李华