拓冰建站拓冰建站
首页 / 资讯中心 / 正文

用 3 个环节搭一个微信 AI 助手:WeClone 部署与微调实战

用 3 个环节搭一个微信 AI 助手WeClone 部署与微调实战【免费下载链接】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想象一个画面你发出去一条在忙吗隔几秒跳回一条在的刚开完会——语气、用词、连标点习惯都像你自己。回复这条消息的不是你而是你的数字分身。WeClone 就是做这件事的开源项目它拿你的微信聊天记录去微调也就是用你自己的语料继续训练让模型学会你的说话方式ChatGLM 大模型再把这个克隆的你接到微信里当你的私人 AI 助手。部署前需要准备什么前置条件一句话有 Python 3.10 环境GPU 显存 16GB 起步LoRA 方式微调 6B 模型的估算值显存不足可换 8 位量化方案。后面所有改动都发生在你自己本地克隆的项目里仓库本身不需要动。环节操作 / 命令或说明1. 前置条件Python 3.8推荐 3.10、CUDA 11.6准备一个已导出为 CSV 的微信聊天记录下载 ChatGLM3-6B 基础模型到本地2. 准备环境克隆代码并装依赖bashbrgit clone https://gitcode.com/GitHub_Trending/we/WeClone cd WeClonebrpip install -r requirements.txtbr3. 配置模型在本地克隆的 settings.json 中把common_args里的model_name_or_path指到你下载 ChatGLM3-6B 的目录adapter_name_or_path保持为训练产出的model_output4. 跑通验证启动浏览器 demo发几句日常消息确认回复口吻接近你本人bashbrpython ./src/web_demo.pybr数字分身能接到微信里干几件事像本人一样回消息它能接住你好在吗这类高频短句并且用你的口吻回应而不是客服腔。例你今天加班到十点 分身我懂我昨天也是。回复长度和语气都被infer_args里的max_length、temperature约束着默认配置下就是短句、低随机性的熟人风格。多轮对话不失忆它能记住上下文连续追问也不会突然岔开话题。例你好累啊今天 分身哈哈哈哈 你你哈哈哈哈 分身 你困死我了 分身我也是 你那晚安喽 分身安安安安安安听懂网络梗和表情包它不只会答正经问题瘦成狗了[doge]这类口语和表情它接得住、还会接梗。例你最近瘦了没 分身瘦成狗了 你真的假的 分身[doge]真的饿的在真实微信里被 出来在微信里私聊它或在群聊中 它都会走和浏览器 demo 相同的推理链路。注意它只像你不会替你做决定回复内容仍需你自己把关。想让数字分身更像你数据、调参与人设三步走第一步整理数据用 PyWxDump 把聊天导出为 CSV放到./data/csv目录然后在本地克隆的项目里运行 make_dataset/csv_to_json.py 转成训练 JSON。脚本会默认滤掉手机号、邮箱等隐私字段make_dataset/blocked_words.json 是禁用词库整句命中即删除可按需补充。同一个连发多句的回答有三种处理脚本可选逗号拼接、取最长句、放进 history按你语料的对话密度挑一个。第二步调参微调在你本地的 settings.json 中改train_sft_argsper_device_train_batch_size与gradient_accumulation_steps控制单卡显存num_train_epochs、lora_rank、lora_dropout控制学习强度。改完运行python src/train_sft.py入口 src/train_sft.py产出model_output里的 LoRA 权重显存富余可加 ds_config.json 走 deepspeed 多卡。也可以先用 src/train_pt.py 做预训练阶段但提升通常不明显可以跳过。第三步设定人设回复模板由 src/template.py 定义chatglm3-weclone分身开口前的角色设定写在这里。想让它自称什么、怎么接话在本地克隆的这份模板里调整即可——这一步决定了同一个模型是你还是陌生人。避坑与调优问题→解法显存不够怎么办在本地克隆的 settings.json 中调低per_device_train_batch_size、用gradient_accumulation_steps补偿或整体切到 8 位量化QLoRA6B 模型显存可从约 16GB 降到 10GB 上下。回复太慢怎么提速infer_args里max_length默认 50是速度和长度的平衡点追求更快就再压小追求流畅长回复则调temperature与top_p别一味放大。回复开始复读怎么办把repetition_penalty从默认 1.2 再抬高一点复读通常就能压下去。loss 降得很低就一定是好事吗不一定。数据只有两万条时loss 降到 3.5 以下往往已接近过拟合此时应减小num_train_epochs或lora_rank而不是继续训。训练效果差找谁先查数据。项目方自己说了最终效果很大程度取决于聊天数据的数量和质量再花哨的参数也救不了脏数据。微信会封号吗有封号风险且机器人账号必须已绑定银行卡。建议用小号并遵守微信平台使用规范。上线前自检对照这张表逐项过一遍检查项达标标准对应文件基础模型就位ChatGLM3-6B 已下载到本地路径与配置一致settings.json微调权重就位model_output中已产出 LoRA 适配器src/train_sft.py对话可用浏览器 demo 能连续对话且口吻接近本人src/web_demo.py接口与机器人API 服务与微信机器人启动后终端出现登录二维码src/api_service.py、src/wechat_bot/main.py数据链路通./data/csv下有 CSV且转换脚本可跑通make_dataset/敏感词过滤禁用词库已按需更新make_dataset/blocked_words.json以上都通过后你的微信 AI 助手才算真正上线。提醒一句个人微信跑机器人存在封号风险务必用小号并遵守平台规范。现在可以回到终端把 make_dataset/ 里的脚本跑一遍开始给你的数字分身备料。【免费下载链接】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),仅供参考
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门