WeClone Astrbot 微信克隆人!用 "分身" 给老板打工!

“数字分身”?最近,GitHub 上有个叫 WeClone 的开源项目火了,短短几天就在 GitHub 拿下 13K Star,但是争议极大。
一句话介绍:它可以用你的微信聊天记录,训练出一个“数字替身”!

WeClone 是什么?

WeClone 是一个利用微信聊天记录训练出“数字替身”的项目。


它通过微调大语言模型(LLM),让模型模仿用户的语言风格、语气,甚至可以接管社交账号发送消息。

WeClone 核心功能

聊天记录微调:基于用户的微信聊天记录对大语言模型进行微调,使模型能够生成符合用户风格的回复。
语音克隆:结合微信语音消息和轻量级 Tacotron 或 WavLM 模型,利用约 0.5B 参数规模的语音克隆网络,重现用户的语气语调,进一步增强数字分身的真实感。
隐私保护:自动过滤敏感信息,如手机号身份证号邮箱等,支持本地化部署,确保数据安全。
多平台支持:可以将微调后的模型绑定到微信QQTelegram企微飞书等平台的机器人,实现跨平台的聊天式交互。

WeClone 快速使用

环境搭建

克隆项目仓库:

git clone https://github.com/xming521/weclone.git

 

创建并激活 Python 环境:

cd WeClone
uv venv .venv --python=3.10
source .venv/bin/activate  # Windows 下执行 .venv\Scripts\activate

 

安装依赖项:

uv pip install --group main -e .

 

复制配置文件模板:

cp settings.template.jsonc settings.jsonc

 

数据准备

使用 PyWxDump 提取微信聊天记录,导出类型为 CSV
将导出的 CSV 文件夹放在项目目录的 ./data/csv 文件夹内。

数据预处理

项目默认去除数据中的手机号、身份证号、邮箱、网址等敏感信息。
执行以下命令对数据进行处理:

./make_dataset/csv_to_json.py

 

配置参数并微调模型

修改 settings.jsonc 的 per_device_train_batch_size 以及 gradient_accumulation_steps 来调整显存占用。
可以根据自己数据集的数量和质量修改 train_sft_args 的 num_train_epochs、 lora_rank、 lora_dropout 等参数。

训练模型

单卡训练:

python src/train_sft.py

 

多卡训练:

uv pip install deepspeed
deepspeed --num_gpus=使用显卡数量 src/train_sft.py

 

使用浏览器 demo 简单推理

启动推理服务:

python ./src/web_demo.py

 

打开浏览器访问指定端口(如 http://localhost:7860),即可进行简单推理。

使用接口进行推理

启动 API 服务:

python ./src/api_service.py

 

使用以下代码进行推理:

   import requests
   response = requests.post('http://localhost:8000/invoke', json={'prompt': '你好'})
   print(response.json())

 

部署到聊天机器人

WeClone 支持将训练好的模型部署到聊天机器人平台,方便与他人进行互动。以下是部署到聊天机器人的基本步骤:
以常见的 AstrBot 为例:

首先部署 AstrBot,并在其中部署消息平台,可参考其官方文档 AstrBot 文档。
启动 WeClone 的 API 服务。若使用的是本地部署,可执行命令 weclone-cli server 或直接运行 python ./src/api_service.py 启动服务。
在 AstrBot 中新增服务提供商,类型选择 OpenAI,API Base URL 根据 WeClone 的实际部署地址填写,例如本地部署为 http://localhost:8000/v1,模型填写 gpt-3.5-turbo,API Key 可随意填写。
微调后不支持工具调用,需先关掉默认的工具。在消息平台发送指令 tool off all,否则可能无法体现微调后的效果。
根据微调时使用的 default_system,在 AstrBot 中设置系统提示词,以确保聊天机器人的回复符合预期风格。


WeClone 是一个充满创意和乐趣的项目,它为我们提供了一个全新的方式来体验数字世界中的“另一个自己”。
快去尝试一下吧,说不定你的微信克隆人会给你带来意想不到的惊喜呢!

astrbot 聊天机器人https://astrbot.app/
weclone Githubhttps://www.weclone.love/

文章版权归原作者所有或来自互联网,未经允许请勿转载。如有侵权请联系我删除,谢谢!
THE END
分享
二维码
打赏
< <上一篇
下一篇>>
文章目录
关闭
目 录