微信扫码
添加专属顾问
我要投稿
探索数字分身的奥秘,体验与回忆对话的新奇感受。核心内容:1. WeClone项目介绍,如何通过微信聊天记录克隆数字分身2. 核心功能解析,包括LLM微调、语音克隆及多平台部署3. 应用场景展望,从个人助理到内容创作,再到数字永生的可能
你的微信里有没有一个对话窗?它很久都没有弹出新消息,但你却常常在深夜里点开反反复复地翻着。
如果现在,你可以用这些聊天记录克隆出对方的“数字分身”,保存下 TA 说话的语气、风格、独特的口头禅,甚至还能给你发来语音,你会怎么选?
最近,GitHub 上新开源了一个的项目 WeClone——让你记忆里的那个 TA 在数字世界里永生,已不再是不可能。
WeClone 通过个人微信聊天记录对大语言模型( LLM )进行微调,打造个性化的数字分身。
它提供从文本生成到语音克隆、从训练到部署的全链路解决方案。让数字分身不仅替 TA 说话,还听起来像 TA 本人。
除了留住记忆里的 TA,你也可以创造自己的数字分身。 你有没有想过,和自己聊天会是什么样的体验?你会喜欢和自己聊天吗?
数字人技术的可玩性确实很高,一经推出,内网和外网上都引来了一大波网友的关注。许多网友也是纷纷脑洞大开。
项目指路: https://github.com/mtcto/weclone
我们先一起来了解一下WeClone的核心功能。
WeClone 支持导出微信聊天记录,并进行格式化处理成问答格式,用于模型微调。
在模型微调方面,WeClone 基于 LoRA 支持对主流 0.5B–7B 规模模型进行低资源微调,包括 ChatGLM3-6B、Qwen2.5-7B 等模型。有效捕捉用户的语言习惯和表达方式。
模型训练需要约 16GB 显存,显存需求可控,训练效率高,满足小样本低资源场景。
需要的显存估算值如下:
项目配套子模块 WeClone - audio (https://github.com/xming521/WeClone/tree/master/WeClone-audio)基于轻量级 Tacotron 或 WavLM 模型,用 0.5B 参数模型和 5 秒语音样本,就可以克隆出相似度高达95%的声音,进一步增强数字分身的真实感。
通过 AstrBot 框架,将数字分身部署到微信、QQ、Telegram、企业微信、飞书等多个聊天平台。一行命令即可快速启动,即可与数字分身实时对话。
个人助理定制:在你忙碌时,数字分身可以代替你回复消息,处理日常事务,例如写邮件、回复评论等。
内容创作:快速产出特定风格的个性化文本内容,帮助你运营多个风格一致的小号。例如写推文、写脚本、写解说等。
数字永生:创建自己或者他人的数字分身,实现永存。
WeClone 的数字分身全链路核心模块包括了三部分:
数据导出与预处理 → LoRA模型微调 → 多平台部署
接下来,我们分模块看看各部分的技术亮点。
1. 数据导出与预处理
WeClone 首先将微信导出的 CSV/SQLite 文件转为标准的 JSON 文件。 然后进行文本清洗,主要是为了去除噪声,以及过滤掉敏感信息。最后分割对话信息,对聊天记录进行分段标注,并保留时间戳、
WeClone 使用 ChatGLM3-6B 为基础模型,基于 LoRA 框架进行 SFT(Supervised Fine-Tuning)阶段的微调。
关键的亮点点包括:
使用低秩适配器,显著减少可训练参数。
单机/分布式训练兼容,支持多卡训练加速。
WeClone 使用 FastAPI/Flask 打包微调后的模型,支持 GPU/CPU 混合部署、多平台登录,并且支持自定义参数。
建议使用 uv ,这是一个非常快速的 Python 环境管理器。安装uv后,您可以使用以下命令创建一个新的Python环境并安装依赖项,注意这不包含xcodec(音频克隆)功能的依赖:
git clone https://github.com/xming521/WeClone.git
cd WeClone
uv venv .venv --python=3.9
source .venv/bin/activate
uv pip install --group main -e .
Note
训练以及推理相关配置统一在文件 settings.json。
请使用 PyWxDump 提取微信聊天记录。下载软件并解密数据库后,点击聊天备份,导出类型为 CSV ,可以导出多个联系人或群聊,然后将导出的位于 wxdump_tmp/export
的 csv 文件夹放在 ./data
目录即可,也就是不同人聊天记录的文件夹一起放在 ./data/csv
。 示例数据位于 data/example_chat.csv
。
项目默认去除了数据中的手机号、身份证号、邮箱、网址。还提供了一个禁用词词库 blocked_words ,可以自行添加需要过滤的词句(会默认去掉包括禁用词的整句)。 执行 ./make_dataset/csv_to_json.py
脚本对数据进行处理。
在同一人连续回答多句的情况下,有三种处理方式:
首选在 Hugging Face 下载 ChatGLM3 模型。如果在 Hugging Face 模型的下载中遇到了问题,可以通过下述方法使用魔搭社区,后续训练推理都需要先执行 export USE_MODELSCOPE_HUB=1
来使用魔搭社区的模型。
由于模型较大,下载过程比较漫长请耐心等待。
export USE_MODELSCOPE_HUB=1 # Windows 使用 `set USE_MODELSCOPE_HUB=1`
git lfs install
git clone https://www.modelscope.cn/ZhipuAI/chatglm3-6b.git
魔搭社区的 modeling_chatglm.py
文件需要更换为 Hugging Face 的。
(可选) 修改 settings.json 选择本地下载好的其他模型。
修改per_device_train_batch_size
以及gradient_accumulation_steps
来调整显存占用。
可以根据自己数据集的数量和质量修改num_train_epochs
、lora_rank
、lora_dropout
等参数。
运行 src/train_sft.py
进行sft阶段微调,本人loss只降到了3.5左右,降低过多可能会过拟合,我使用了大概2万条整合后的有效数据。
python src/train_sft.py
uv pip install deepspeed
deepspeed --num_gpus=使用显卡数量 src/train_sft.py
python ./src/web_demo.py
python ./src/api_service.py
python ./src/api_service.py
python ./src/test_model.py
AstrBot 是易上手的多平台 LLM 聊天机器人及开发框架。
使用步骤:
python ./src/api_service.py
,启动api服务 /tool off reminder
,否则会没有微调后的效果。>/ 本期作者:Tashi & JackCui
>/ JackCui:AI领域从业者,毕业于东北大学,大厂算法工程师,热爱技术分享。
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2025-05-14
10分钟上手全球开源模型冠军 Qwen3
2025-05-14
开源AI新协议!AI Agent与前端交互的轻量级协议,轻松构建交互式AI应用!
2025-05-14
事实证明千问qwen3小模型才是企业的生产力,他究竟能做什么呢?
2025-05-14
AG-UI:打破AI与应用壁垒,让智能助理真正“嵌入”你的工作流
2025-05-14
智能体到用户交互(AG-UI)协议
2025-05-14
ChatUI:阿里开源 智能对话式 UI 组件库
2025-05-14
3.4K star!阿里出品对话式UI神器,轻松打造专业级聊天界面!
2025-05-14
深度对比流行开源智能体 Agent 框架:选择适合你的解决方案
2024-07-25
2025-01-01
2025-01-21
2024-05-06
2024-09-20
2024-07-20
2024-07-11
2024-06-12
2024-12-26
2024-08-13
2025-05-14
2025-05-12
2025-04-30
2025-04-29
2025-04-28
2025-04-28
2025-04-28
2025-04-21