掘金 人工智能 05月10日 09:53
从AI助手到个性化数字分身:WeClone & Second Me打造本地化、私有化的个性化AI代理系统
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

本文介绍了两个开源项目:WeClone和Second-Me,它们分别侧重于通过微信聊天记录克隆个性化对话模型,以及创建完全私有的个性化AI代理。WeClone基于LoRA方法微调Qwen2.5-7B等模型,实现数字分身,并支持多平台部署。Second-Me则旨在构建代表用户真实自我的数字分身,通过本地训练和部署保护用户数据隐私,并支持与其他AI代理协作。这两个项目都展示了在个性化AI代理领域的探索和实践。

🤖 WeClone项目旨在通过用户微信聊天记录,训练个性化对话模型,创建“数字版的你”。该项目核心流程包括数据采集、预处理、模型微调与部署应用。

🗣️ WeClone采用LoRA方法微调Qwen2.5-7B等大语言模型,实现拟人化对话,并配套WeClone-audio子模块,基于轻量级模型重现用户语气语调。

🛡️ Second Me是一个开源AI身份系统,旨在创建完全私有的个性化AI代理,通过本地训练和部署保护用户数据隐私。它支持多角色适应,ChatMode对话,以及Bridge Mode作为用户与外界的桥梁。

1.WeClone

随着大语言模型(LLM)和语音合成技术的快速发展,个性化AI代理的实现变得愈发可行。近期,一个名为 WeClone 的开源项目引起了开发者社区的关注。该项目旨在通过用户的微信聊天记录,训练出一个高度个性化的对话模型,从而实现“数字版的你”,在一定程度上探索“数字永生”的可能性。

具体功能

项目链接:github.com/xming521/We…

WeClone 的核心流程包括数据采集、预处理、模型微调与部署应用四大模块。首先,项目支持从微信导出的原始聊天记录中提取结构化数据,并自动转换为问答对(QA Pair)格式,便于后续监督式微调使用。这一过程采用了正则表达式匹配与时序分析技术,确保上下文逻辑的连贯性。

在模型层面,WeClone 采用基于 LoRA(Low-Rank Adaptation)的参数高效微调方法,在 Qwen2.5-7B 等大语言模型基础上进行适配。LoRA 能够显著降低训练成本与资源消耗,使得用户仅需少量高质量对话样本即可实现较好的拟人效果。此外,项目配套子模块 WeClone-audio 基于轻量级 Tacotron 或 WavLM 模型,利用约 0.5B 参数规模的语音克隆网络,重现用户的语气语调,进一步增强数字分身的真实感。

项目默认使用Qwen2.5-7B-Instruct模型,LoRA方法对sft阶段微调,大约需要16GB显存。也可以使用LLaMA Factory支持的其他模型和方法。

需要显存的估算值:

方法精度7B14B30B70BxB
Full (bf16 or fp16)32120GB240GB600GB1200GB18xGB
Full (pure_bf16)1660GB120GB300GB600GB8xGB
Freeze/LoRA/GaLore/APOLLO/BAdam1616GB32GB64GB160GB2xGB
QLoRA810GB20GB40GB80GBxGB
QLoRA46GB12GB24GB48GBx/2GB
QLoRA24GB8GB16GB24GBx/4GB

训练完成后,WeClone 支持将模型部署至多个即时通讯平台,如微信、QQ、飞书、企业微信等,实现跨平台的自然语言交互体验。部署方式包括本地服务端 API 接口、Docker 容器化部署以及轻量级 SDK 集成,满足不同场景下的需求。

对于开发者而言,WeClone 提供了完整的工程文档与实践指南,涵盖环境搭建(Python + PyTorch)、数据清洗、LoRA 微调配置、FlashAttention 加速优化、单卡/多卡分布式训练等关键技术细节。项目兼容主流深度学习框架,并针对 NVIDIA GPU 进行了性能优化,推荐使用 A100/H100 显卡以获得更好的训练效率。

需要注意的是`:

    模型表现受限于数据质量与模型容量:若聊天记录内容稀疏或风格不一致,可能导致生成结果不够稳定;Windows 兼容性建议:项目主要面向 Linux 平台开发,Windows 用户建议使用 WSL(Windows Subsystem for Linux)运行;版本迭代频繁:当前处于快速开发阶段,部分功能可能存在不稳定或接口变更情况;隐私与合规风险:聊天数据涉及大量个人敏感信息,必须严格遵守《个人信息保护法》等相关法律法规。

1.1 环境搭建

cuda安装(已安装可跳过):LLaMA Factory

建议使用 uv,这是一个非常快速的 Python 环境管理器。安装uv后,您可以使用以下命令创建一个新的Python环境并安装依赖项,注意这不包含音频克隆功能的依赖:

git clone https://github.com/xming521/WeClone.gitcd WeCloneuv venv .venv --python=3.10source .venv/bin/activateuv pip install --group main -e . 

使用以下命令测试CUDA环境是否正确配置并可被PyTorch识别,Mac不需要:

python -c "import torch; print('CUDA是否可用:', torch.cuda.is_available());"

(可选)安装FlashAttention,加速训练和推理:uv pip install flash-attn --no-build-isolation

[!NOTE]训练以及推理相关配置统一在文件settings.json

1.2 数据预处理

请使用PyWxDump提取微信聊天记录。可以先将手机的聊天记录迁移(备份)到电脑,数据量更多一些。下载软件并解密数据库后,点击聊天备份,导出类型为CSV,可以导出多个联系人或群聊,然后将导出的位于wxdump_tmp/exportcsv 文件夹放在./dataset目录即可,也就是不同人聊天记录的文件夹一起放在 ./dataset/csv

python weclone/data/qa_generator.py

PyWxDump是一款用于获取账号信息(昵称/账号/手机/邮箱/数据库密钥)、解密数据库、查看聊天记录、备份导出聊天记录为html的工

1.3 模型训练

git lfs installgit clone https://www.modelscope.cn/Qwen/Qwen2.5-7B-Instruct.git
python weclone/train/train_sft.py
uv pip install deepspeeddeepspeed --num_gpus=使用显卡数量 weclone/train/train_sft.py

1.4 推理

python weclone/eval/web_demo.py
python weclone/server/api_service.py

有些答案比较抽象,主要原因是训练数据没有覆盖,可以通过RAG来解决。测试结果在test_result-my.txt。

python weclone/server/api_service.pypython weclone/eval/test_model.py

1.5 微调效果

使用Qwen2.5-14B-Instruct模型,大概3万条处理后的有效数据,loss降到了3.5左右的效果。

1.5 部署

AstrBot 是易上手的多平台 LLM 聊天机器人及开发框架 ✨ 平台支持 QQ、QQ频道、Telegram、微信、企微、飞书。

使用步骤:

    部署 AstrBot在 AstrBot 中部署消息平台执行 python weclone/server/api_service.py 启动api服务在 AstrBot 中新增服务提供商,类型选择OpenAI,API Base URL 根据AstrBot部署方式填写(例如docker部署可能为http://172.17.0.1:8005/v1) ,模型填写gpt-3.5-turbo,API Key随意填写一个微调后不支持工具调用,请先关掉默认的工具,消息平台发送指令: /tool off all,否则会没有微调后的效果。根据微调时使用的default_system,在 AstrBot 中设置系统提示词。

[!IMPORTANT]检查api_service的日志,尽量保证大模型服务请求的参数和微调时一致,tool插件能力都关掉。

    调整采样参数,例如temperature、top_p、top_k等配置自定义的模型参数

1.8 问题解决

2.Second-Me

Second Me 是一个开源AI身份系统,旨在为用户创建完全私有的个性化AI代理。它不仅仅是一个AI助手,而是一个能够代表用户真实自我的数字分身。通过本地训练和部署,Second Me 确保用户的数据完全由自己掌控,避免了传统AI系统中数据被大公司掌控的风险。

Second Me 的核心目标是保护用户的独特身份,同时为用户提供一种全新的方式在AI时代中表达自我。它支持全球互联,允许用户的AI代理与其他AI代理进行协作,形成一个去中心化的AI网络。这种设计不仅保护了用户的隐私,还为用户提供了更多的智能扩展可能性。

2.1 安装 Second Me 服务

1. 克隆仓库

git clone git@github.com:Mindverse/Second-Me.gitcd Second-Me

2. 设置环境

使用 make 命令(需要 Xcode 命令行工具):

make setup

或者直接使用脚本:

./scripts/setup.sh

3. 启动服务

使用 make 命令:

make start

或者直接使用脚本:

./scripts/start.sh

2.2 启动 Second Me 平台

完成 make start 命令后,打开浏览器并访问 http://localhost:3000,即可进入 Second Me 平台。接下来,我们将逐步完成创建自己的 AI 自我:

1. 定义你的身份

在创建 Second Me 之前,你需要定义自己的身份。这是 Second Me 的核心基础:

提示:上传的信息越多样化,Second Me 对你的理解就越准确。

2. 上传你的记忆

下一步是通过上传个人数据来让 Second Me 更了解你:

提示: * 上传反映你思维模式、写作风格和知识领域的多样化内容。 * 避免上传过多文件,以免影响训练效率。

3. 训练 Second Me

最后一步是训练 Second Me,使其具备你的个性和能力:

提示: * 选择适合你计算机性能的模型。 * 训练时间取决于上传数据的数量和复杂性,保持页面打开并耐心等待。

2.3 如何与 Second Me 交互


聊天模式

聊天模式允许你直接与 Second Me 进行交互:

提示:通过调整设置,让 Second Me 适应不同场景需求。

角色扮演应用

角色扮演应用允许你为 Second Me 创建特定角色,用于不同场景:

网络应用

网络应用支持你加入全球 Second Me 网络或创建协作空间:

项目链接:

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

WeClone Second-Me AI代理 个性化
相关文章