WeClone Astrbot 微信克隆人!用 "分身" 给老板打工!
“数字分身”
?最近,GitHub 上有个叫 WeClone 的开源项目火了,短短几天就在 GitHub 拿下 13K Star
,但是争议极大。
一句话介绍:它可以用你的微信聊天记录,训练出一个“数字替身”!
WeClone 是什么?
WeClone 是一个利用微信聊天记录训练出“数字替身”的项目。
它通过微调大语言模型(LLM),让模型模仿用户的语言风格、语气,甚至可以接管社交账号发送消息。
WeClone 核心功能
聊天记录微调:基于用户的微信聊天记录对大语言模型进行微调,使模型能够生成符合用户风格的回复。
语音克隆:结合微信语音消息和轻量级 Tacotron
或 WavLM
模型,利用约 0.5B
参数规模的语音克隆网络,重现用户的语气语调,进一步增强数字分身的真实感。
隐私保护:自动过滤敏感信息,如手机号
、身份证号
、邮箱
等,支持本地化部署,确保数据安全。
多平台支持:可以将微调后的模型绑定到微信
、QQ
、Telegram
、企微
、飞书
等平台的机器人,实现跨平台的聊天式交互。
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 Github:https://www.weclone.love/


共有 0 条评论