尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

WeClone 完整上手指南:用微信聊天记录微调大模型,搭建你的 AI 分身

WeClone 完整上手指南:用微信聊天记录微调大模型,搭建你的 AI 分身 WeClone 完整上手指南用微信聊天记录微调大模型搭建你的 AI 分身【免费下载链接】WeClone One-stop solution for creating your AI twin from chat history Fine-tune LLMs with your chat logs to capture your unique style, then bind to a chatbot to bring your digital self to life.项目地址: https://gitcode.com/GitHub_Trending/we/WeCloneWeClone 是一个把微信聊天记录变成数字分身的开源项目它用你的聊天记录通过 LoRA 方式微调 ChatGLM3-6B 大模型让模型学会你的语气和说话习惯再绑定到微信机器人上得到一个能像你一样回复的 AI 分身。整条链路数据准备 → 微调 → 推理 → 微信接入都在仓库里给好了脚本适合想入门大模型微调、又想快速拥有个性化聊天机器人的新手。一、WeClone 环境要求与前置准备 ️硬件与显存项目默认用 ChatGLM3-6B LoRA 做 SFT 微调大约需要16GB 显存。显存不够时可以从下表选更省的方案训练方式精度7B 模型显存LoRA16bit16GBQLoRA8bit10GBQLoRA4bit6GB也就是说6GB 显存的消费级显卡也能跑 QLoRA 4bit。需要 NVIDIA GPUCUDA 建议 11.6 以上。软件依赖Python 3.8推荐 3.10建议用 conda 建独立环境依赖见 requirements.txt核心是 LLaMA-Factoryllmtuner、itchat-uos微信接入、pandas、chromadb、langchain、openai可选项deepspeed多卡训练、bitsandbytes量化推理聊天记录数据最终效果很大程度取决于聊天数据的数量和质量。你可以用 PyWxDump 解密微信数据库后选聊天备份、导出类型为 CSV把多个联系人/群聊的 CSV 一起放到./data/csv目录下。基础模型下载 ChatGLM3-6B可从 Hugging Face 或魔搭社区获取模型较大下载需要一些耐心。如果走魔搭社区后续训练/推理都要先设置环境变量export USE_MODELSCOPE_HUB1 # Windows 用 set USE_MODELSCOPE_HUB1二、WeClone 安装步骤与首次运行 克隆仓库并安装依赖git clone https://gitcode.com/GitHub_Trending/we/WeClone conda create -n weclone python3.10 conda activate weclone cd WeClone pip install -r requirements.txt数据预处理运行./make_dataset/csv_to_json.py把 CSV 转成训练集。脚本默认会去掉手机号、身份证号、邮箱、网址还可以往 make_dataset/blocked_words.json 里加禁用词含禁用词的整句会被过滤。同一人连发多句时有两种处理方式可选csv_to_json.py用逗号连接成一句csv_to_json-单句多轮.py放进提示词的history中微调训练单卡直接运行 SFT 微调即可python src/train_sft.py多卡可装 deepspeed 后运行deepspeed --num_gpus显卡数 src/train_sft.py。仓库也提供了src/train_pt.py的预训练阶段脚本但作者实测提升不明显可按需跳过。首次推理浏览器 Demopython src/web_demo.pyAPI 接口python src/api_service.py常见问题测试先起 API再运行python src/test_model.py三、WeClone 核心能力实际对话效果 网页版多轮对话src/web_demo.py提供一个网页聊天界面支持上下文记忆回复偏口语化、简短风格贴近训练数据里的说话方式。微信机器人接入先启动src/api_service.py再运行src/wechat_bot/main.py终端会显示二维码扫码登录微信后即可使用。支持私聊也支持在群聊里 机器人。消息处理逻辑在 src/wechat_bot/handler/text.py默认保留最近 15 轮上下文history_len保证多轮连贯。风格模仿从训练数据里模型能学到你的语气习惯短句、口语、网络用语甚至表情符号如 doge都可能被复刻。当然这种像不像本人的程度还是回到数据量与质量上。四、WeClone 配置说明与个性化设置 ⚙️所有训练/推理参数集中在 settings.json新手重点看这几项配置项作用说明common_args.model_name_or_path基础模型路径默认./chatglm3-6b改成你本地实际路径adapter_name_or_pathLoRA 权重目录同时作为训练输出目录默认./model_outputper_device_train_batch_size/gradient_accumulation_steps控制显存显存紧张就降 batch、加大累积步数num_train_epochs/lora_rank/lora_dropout训练强度按数据集规模调整infer_argstemperature、repetition_penalty、max_length、top_p生成风格默认 0.5 / 1.2 / 50 / 0.65对话模板与系统提示词src/template.py 里定义了chatglm3-weclone模板和默认的 system 提示词请你扮演一名人类不要说自己是人工智能。想让分身更贴合某种人设改这里的提示词即可。数据集配置训练集注册信息在 data/res_csv/sft/dataset_info.json预处理后的数据放在./data/res_csv/sft。五、WeClone 常见问题与排查 ️1. 训练时报显存不足OOM先降per_device_train_batch_size并调大gradient_accumulation_steps仍不够就换 QLoRA8bit/4bit或选更小的基座模型。2. 效果差强人意不像本人作者用约 2 万条有效数据才达到可接受效果。数据太少或噪声多风格很难学出来。建议积累更多高质量聊天记录再训练。3. loss 降得太低反而变差作者 SFT 的 loss 只降到 3.5 左右降得过多容易过拟合、回复变得僵硬可适当减少num_train_epochs。4. 微信机器人登录不上 / 担心封号机器人基于itchat-uos在终端显示二维码enableCmdQR2扫码登录。微信对第三方机器人有封号风险作者建议用小号且该方案要求账号已绑定银行卡生产使用请自行评估风险。六、小结与后续方向WeClone 把聊天记录 → LoRA 微调 → 微信机器人这条链路做成了开箱即用的脚本你只需准备好数据和一块有 16GB 显存的显卡或走 QLoRA就能跑通。后续可以换用 LLaMA-Factory 支持的其他模型/方法进一步降显存按 README 规划补齐 RAG 知识补充与多模态能力持续扩充训练数据让分身更像本人。温馨提示聊天记录包含个人敏感信息训练前可用禁用词表过滤微信机器人存在封号风险请遵守平台使用规范谨慎使用。【免费下载链接】WeClone One-stop solution for creating your AI twin from chat history Fine-tune LLMs with your chat logs to capture your unique style, then bind to a chatbot to bring your digital self to life.项目地址: https://gitcode.com/GitHub_Trending/we/WeClone创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表