news 2026/9/9 17:21:26

5步把微信记录变成数字分身对话API:WeClone极简微调的本地部署路径

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
5步把微信记录变成数字分身对话API:WeClone极简微调的本地部署路径

5步把微信记录变成数字分身对话API: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是一个数字分身对话API构建工具:用你的微信聊天记录微调大模型,再把结果绑到对话接口上,让AI用你的语气说话。

🔎 一:它能做什么,不能做什么

这个项目把你的微信聊天记录转成训练数据,再用LoRA(只训练少量参数的轻量微调方式,省显存)微调默认的ChatGLM3-6B模型。你得到的是一个"说话像你"的模型,风格上限由数据决定。

  • 能:微信记录转训练数据,再做LoRA微调和对话API部署
  • 能:命令行、浏览器、微信机器人三种渠道接入同一个微调模型
  • 不能:不增加任何通识知识,模型学的是你的说话习惯,回答质量受限于数据数量与质量,别拿它做开放域问答

图:WeClone数字分身的实际对话效果,回复带着明显的个人语气

⚡ 二:从零到可运行的最短路径

默认路线(LoRA 16位精度、7B模型)单卡需要约16GB显存。

  1. 克隆代码并进入项目目录,建议先用conda建独立环境(Python 3.10,最低3.8),再装依赖。
git clone https://gitcode.com/GitHub_Trending/we/WeClone && cd WeClone pip install -r requirements.txt
  1. 下载ChatGLM3-6B基础模型(README说明了Hugging Face或ModelScope两种方法)放到项目根目录的chatglm3-6b目录;同时用PyWxDump(微信聊天记录导出工具)把聊天导出CSV放进data/csv目录,跑转换脚本生成训练数据。
python make_dataset/csv_to_json.py
  1. 启动LoRA微调,所有训练参数集中在 settings.json。
python src/train_sft.py
  1. 启动对话API服务,数字分身对话API本地部署完成,访问localhost:8000/docs查看接口文档。
python src/api_service.py

主要依赖:

依赖名作用(白话)版本约束
llmtuner大模型微调框架(LLaMA-Factory)==0.5.3
itchat-uos微信机器人接口库==1.5.0.dev0
pandas读取处理CSV聊天记录
openaiAPI客户端==0.28
chromadb向量数据库工具

🖥️ 三:核心交互方式(按渠道)

三种渠道都对接同一个微调模型,微信机器人走的是数字分身API接口,即src/api_service.py,需先启动API服务。

命令行CLI

启动python src/cli_demo.py,输入"你叫什么名字啊",回复"我叫小张,你呢?";clear可清空历史,exit退出。CLI对话机器人本地部署最直接,训练完一分钟就能验证风格,适合开发者验收微调效果。

浏览器Web页面

启动python src/web_demo.py,页面自动打开,输入"哈喽",回复"你好。"。适合向同事或家人快速演示数字分身效果。

微信机器人

启动python src/wechat_bot/main.py,终端显示二维码,扫码后私聊或群聊@机器人都能回复:发"早上好",回"你去吃早饭了嘛。"适合用小账号长期在线挂着。

📦 四:数据流与关键配置

数据链路三个环节:微信记录导出CSV → csv_to_json.py 过滤敏感信息(手机号、身份证号、邮箱、网址)并组装问答对 →data/res_csv/sft目录下的训练数据供train_sft.py使用。

关键配置集中在 settings.json:

参数建议值一句话说明
per_device_train_batch_size4每卡批大小,显存不够先降到1
gradient_accumulation_steps8梯度累积步数,降批大小后调大它保持等效样本量
lora_rank4LoRA秩,风格没学到位可酌情调大
num_train_epochs3训练轮数,loss降得太低要停手,小心过拟合

低配显卡(不足16GB显存)可改用QLoRA(量化低秩微调),README给出的估算表中7B模型4bit量化仅需约6GB显存。

🧨 五:避坑清单

下面5种情况最容易踩。

  • 回复风格不像自己→ 聊天数据量与质量不足 → 多聚合几个联系人的记录重跑数据脚本
  • loss持续下降且回复开始复读→ 过拟合记住了数据 → 减少训练轮数,loss约3.5即可停
  • 微信机器人被封号→ 主账号风险高 → 换小账号并先绑定银行卡
  • 担心敏感信息进数据集→ 原始记录含个人隐私 → 默认已过滤手机号与身份证,可再往禁用词表里加
  • 训练显存爆掉(OOM)→ 显存低于16GB → 调小批大小或改QLoRA 4bit

下一步试试运行python src/test_model.py,用一组常见聊天问题给微调后的模型做个体检。

【免费下载链接】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 17:20:35

手机导播实战:用光圈智播在多机位户外直播中解放双手

上周在滨江公园做一场品牌户外直播,我站在太阳底下,左手举着手机,右手拿着冰美式,身后是两台架在三脚架上的相机。现场没有桌子,也没带电脑。要切画面,拇指一滑;要调整二号机的俯仰角度&#xf…

作者头像 李华
网站建设 2026/9/9 17:20:04

Qt中文输入法配置与排查全指南:从环境变量到打包部署

简介:这是一份基于QT 4.7.0开发的中文输入法示例工程,面向希望了解QT输入法框架、中英文切换机制或需要参考界面实现的中高级C开发者。资源包共6个文件,包含两个cpp源码文件、一个qrc资源文件、一个pro工程文件、一个头文件以及一个说明txt&a…

作者头像 李华
网站建设 2026/9/9 17:12:58

Logseq Zotero 集成完全指南:5分钟把文献 PDF 接进笔记

Logseq Zotero 集成完全指南:5分钟把文献 PDF 接进笔记 【免费下载链接】logseq A privacy-first, open-source platform for knowledge management and collaboration. Download link: http://github.com/logseq/logseq/releases. roadmap: https://logseq.io/p/NX…

作者头像 李华
网站建设 2026/9/9 17:12:40

基于NJ501的26轴EtherCAT激光焊接控制系统设计

做锂电设备这几年,最绕不开的工艺就是激光焊接。今年接手了一套动力电池模组的焊接线,拿到需求清单时看了一遍轴表,当场有点头皮发麻——26根伺服轴,全部走EtherCAT总线,配欧姆龙NJ501运动CPU。项目本身不复杂&#xf…

作者头像 李华