WeClone 是一个从聊天记录创建 AI 数字分身的一站式开源解决方案,项目托管于 GitHub(https://github.com/xming521/WeClone)。其核心思路是:导出聊天数据,经过预处理后微调大语言模型,使模型捕捉个人独特的说话风格,再绑定到聊天机器人,从而让数字自我“活”起来。
用途方面,WeClone 面向希望基于自身聊天历史构建个性化 AI 数字分身的用户。它提供从聊天数据导出、预处理、模型训练到部署的完整端到端流程,并支持图像模态数据微调,可将聊天记录中的图像信息一并纳入训练。
主要能力包括:使用聊天历史微调 LLM,支持图像模态数据;可集成 Telegram,WhatsApp 集成即将推出;提供隐私信息过滤,支持本地化微调与部署,以保障数据安全可控。项目默认使用 Qwen2.5-VL-7B-Instruct 模型,采用 LoRA 方法进行 SFT 阶段微调,也可使用 LLaMA Factory 支持的其他模型和方法。数据源平台支持 Telegram(2025 年 7 月 10 日新增),部署平台支持 AstrBot、LangBot 等。
使用方式上,项目建议使用 uv 安装依赖,需 CUDA 12.6 或以上版本(Mac 无需)。配置文件模板需复制并重命名为 settings.jsonc,训练与推理相关配置统一在该文件中。数据准备需使用 Telegram Desktop 导出聊天记录,选择 Photos 消息类型和 JSON 格式,将导出的 ChatExport_* 放入 ./dataset/telegram 目录。数据预处理阶段可修改语言、平台、include_type 等配置,Telegram 用户需设置 telegram_args.my_id。项目默认使用 Microsoft Presidio 移除电话号码、邮箱、信用卡号、IP 地址、地理位置名称、国际银行账号、加密货币钱包地址、年龄信息及通用 ID 号,但无法保证 100% 识别,并提供 blocked_words 黑名单供手动过滤。数据加密与密码通过 security_args 设置,新模板默认加密,加密输出以 .enc 结尾,需保留 .weclone/ 目录以读取加密数据。训练可单 GPU 或多 GPU(需取消 settings.jsonc 中 deepspeed 行注释),推理可通过浏览器演示或 API 进行。部署到聊天机器人时,可执行 weclone-cli server --inference --port 8005 启动 API 服务,并在 AstrBot 或 LangBot 中添加 OpenAI 类型服务商,模型填 gpt-3.5-turbo,API Key 任意填写。注意微调后不支持工具调用,需先关闭默认工具。
适用场景包括:个人数字分身实验、聊天风格模拟、多平台聊天机器人集成等。限制方面:项目仍处于快速迭代阶段,当前性能不代表最终结果;微调效果很大程度上取决于模型规模以及聊天数据的数量和质量,理论上模型越大、数据越多效果越好;7B 模型表现一般,14B 及以上参数模型通常效果更好;Windows 环境未经过严格测试,可使用 WSL 作为运行环境。项目仅供学习、研究和实验用途,生产环境使用存在显著风险,需自行评估。使用数字分身时强烈建议明确标识为“AI Bot”或“数字分身”,并在界面显著标注“AI 生成内容”,避免用户误认为是真人对话。项目按“原样”提供,不附带任何明示或暗示担保,作者不承诺持续技术支持或维护。