ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

WeClone 微信AI助手部署教程:用16GB显存和聊天记录训练你的专属聊天机器人

WeClone 微信AI助手部署教程:用16GB显存和聊天记录训练你的专属聊天机器人 WeClone 微信AI助手部署教程用16GB显存和聊天记录训练你的专属聊天机器人【免费下载链接】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 是一个用微信聊天记录打造个性化微信AI助手的开源项目用 LoRA 对 ChatGLM-6B 做微调让它学会你的说话风格再绑定到微信机器人就能在私聊和群聊里替你搭话。本文面向拥有 16GB 以上显存、想做一个说自己话的机器人的用户。它能解决什么问题想象两个场景你出门在外、消息来不及回机器人用你的语气接住朋友的问候或者群里有人 机器人它能接上话茬闲聊几句气氛不冷场。平时常见的大模型回复是AI腔——能办事但一听就不是你。WeClone 的思路很直接把你真实的聊天记录喂给模型做微调让它学到你的口癖、称呼习惯和回应方式。技术上就两件事用 LoRA 基于你的对话数据微调 ChatGLM3-6B大约需要 16GB 显存再把微调后的模型接到微信接口上收消息、发回复。首次跑起来先建一个干净的 Python 3.10 虚拟环境。项目依赖固定版本的 llmtuner和其他包混装容易出冲突隔离环境能少踩很多坑。conda create -n weclone python3.10 conda activate weclone然后拉取代码、装依赖。依赖清单 requirements.txt 不长核心是 llmtunerLLaMA-Factory 的一部分和用于微信接入的 itchat-uos。git clone https://gitcode.com/GitHub_Trending/we/WeClone cd WeClone pip install -r requirements.txt接下来下载基础模型。从 Hugging Face 模型社区下载 ChatGLM3-6B放到项目根目录并命名为./chatglm3-6b这正是 settings.json 里model_name_or_path的默认值路径放对了就不用改配置。如果无法访问 Hugging Face可以改用魔搭社区下载并在终端先执行export USE_MODELSCOPE_HUB1Windows 用set USE_MODELSCOPE_HUB1让训练和推理都走魔搭。再准备数据。把微信聊天记录导出为 CSV放进./data目录仓库自带示例文件 data/example_chat.csv可以先拿它跑通整个流程。然后执行预处理脚本把 CSV 转成训练数据python make_dataset/csv_to_json.py结果输出到data/res_csv/sft。脚本会剔除手机号、身份证号、邮箱、网址等敏感信息还能通过 make_dataset/blocked_words.json 按禁用词过滤整句可先把自己的敏感词加进去。训练前最后看一眼 settings.json整个项目的配置都集中在这一处确认模型路径指向正确后就可以开始微调python src/train_sft.py训练需要一些时间注意观察 loss 曲线。作者的经验是降到 3.5 左右比较合理再低就接近过拟合模型会开始背诵训练集而不是像你了。功能验证浏览器 Demo 直接看效果训练完成后先跑浏览器 demo 验证感觉这是最轻量的检查方式网页里直接聊python ./src/web_demo.py在 demo 里用认识彼此的方式提问比如你叫什么名字你多大了。训练到位的模型会按你数据里设定的人设回答而不是千篇一律的我是AI。src/template.py 中的系统提示词也明确要求模型扮演人类不会轻易自曝身份。常见聊天问题批量自测仓库自带 data/test_data.json 和 src/test_model.py配合接口服务 src/api_service.py 可以批量跑一遍常见聊天问题快速检查模型有没有明显答非所问或语气出戏的地方。接入微信真实环境验证通过后再接入真实微信。先启动 API 服务再启动机器人python ./src/api_service.py python ./src/wechat_bot/main.py终端会显示二维码微信扫码登录即可。私聊可以直接和它对话群聊中 机器人 才会触发回复不会刷屏。️ 个性化与调优聊天数据准备与清洗方法回复不像你时先看数据。真实对话量越大、质量越高而不是一堆嗯哦效果越好。如果同一个人连续回多句make_dataset 目录提供了三种处理策略csv_to_json.py用逗号把多句拼成一条csv_to_json-单句回答.py只保留最长一句已废弃csv_to_json-单句多轮.py把多句放进提示词的 history 做多轮。按你的数据结构选一种。显存与训练强度调参settings.json 中per_device_train_batch_size和gradient_accumulation_steps直接决定显存占用显存紧张就调小 batch用更多累积步数补回来。train_sft_args里的lora_rank、lora_dropout控制微调容量和正则化强度num_train_epochs控制训练轮数——数据少就少训几轮数据充足可以适当加但要盯住过拟合。回复语气与风格定制infer_args是训练之外的风格旋钮temperature控制回复的随机性调低更稳repetition_penalty抑制车轱辘话max_length限制单条回复长度。配合 src/template.py 里的default_prompt默认是请你扮演一名人类不要说自己是人工智能可以把机器人的人设再往前推一步。常见问题显存不够 16GB 怎么办默认配置是 LoRA 6B 模型约需 16GB。先尝试把per_device_train_batch_size降到 1再不够就用 LLaMA Factory 支持的 QLoRA 4bit 量化方案约 6GB 即可跑 7B 模型但需要自行修改模板和 system 提示词等配置。训练完怎么让新模型生效训练产物保存在model_output目录推理配置的adapter_name_or_path默认就指向它直接运行 web_demo 或 api_service 加载的即是新权重无需额外操作。微调后模型不像我该从哪查起常见原因两个数据量不够或质量差以及过拟合。先看 loss 曲线有没有降得过低再回头清理数据补禁用词库、增加真实对话量重新训练。微信机器人会封号吗有封号风险。README 明确建议用小号测试并且账号必须绑定银行卡才能正常登录别拿主号做实验。不想接微信只用模型行不行可以。web_demo浏览器、api_service接口、微信机器人是三个独立入口前两个足以满足日常玩模型的需求。建议先用仓库自带示例数据把完整流程跑通一遍确认每一步没有报错再逐步替换成自己的聊天记录、调整参数。使用机器人时记得用小号保持对话内容正常遵守平台使用规范。【免费下载链接】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),仅供参考
返回列表