"我用个人微信聊天记录和博客文章打造了自己的数字化克隆AI"


除了开飞机,做出完美的烤肋排,获得6块腹肌以及让公司赚大钱之外,我一直以来也想做成的一件事,是实现一个聊天机器人。

和多年前简单通过关键词匹配来回复的小黄鸡,到现在已经堪比人类智慧的 chatgpt,聊天AI一直在进步,但他们和我想的都有一些区别。

我在微信上和很多人聊天,有的人聊得多,有的人聊的少,我在群里也会说话,我还会写博客和公众号,我会在很多地方留下评论,我也会发微博,这些是我在网络世界留下的痕迹,某种程度上这些东西构成了世界对我的认知,从这个角度上,也就构成了我。将这些数据——我对不同消息的回复,我写的每一篇文章,每一句话,我发过的每一条微博等,全部汇入一个神经网络模型之中,去更新其中的参数,理论上就可以获得一个我的数字拷贝。

从原理上,这和对 chatgpt 说“请扮演一个叫小王的人,他的经历是XXX”不同,虽然以 chatgpt  的智慧,这样的扮演毫不费力且可能以假乱真,但其实 chatgpt 的参数并没有改变,这更像是“扮演”而非“重塑”,chatgpt  的上千亿个参数并没有改变一个,它从你之前的文本中获取一些信息,然后用它的智慧来应对你。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

我喜欢在文章里写一些没有太大用处的比喻,并喜欢在最后做一些总结,跟人聊天的时候,我喜欢用「可以的」来敷衍,同时用卧槽来表示惊讶,我某些时候少言寡语,另一些时候则滔滔不绝,这是我自己能够感知的一些特点,此外还有更多我自己都无法察觉的固定习惯,但这些微妙又模糊的东西,我无法告诉 chatgpt,这就像你做自我介绍,可以介绍的很丰富,但和真正的你,依然差之千里,甚至有时候截然相反,因为当我们意识到自己的存在的时候,我们其实是在表演自己,只有在我们没有意识到自己的存在,而融入生活的时候,我们才是真正的自己。

在 chatgpt 发布之后基于兴趣去学习文本大模型的技术原理,有一种 49 年入国军的感觉,因为对个人爱好者来说,做出在任何方面或再细小的垂直领域超越 chatgpt 的可能性已经不存在了,同时它又不开源,除了使用,没有别的可打的主意。

但最近2个月出现的一些开源文本预训练模型,例如大名鼎鼎的 llama 和 chatglm6b,让我那个克隆自己的想法又开始蠢蠢欲动起来,上周,我准备试试看。

首先我需要数据,足够多且全部都由我产生的数据,最简单的数据来源是我的微信聊天记录和博客,因为没有完全清空微信聊天记录,从 2018 年到现在,我手机里的微信占了80G的储存空间,对此我一直有一种家里被人强占一块地儿的感觉,现在如果能把这里的数据利用起来,我会和这80G冰释前嫌。

 

我在几年前曾经备份过我的微信聊天记录,我又找到了当年使用的工具,是一个在 github 开源的工具,叫做 WechatExporter,链接我会放到文末,使用这个工具,可以实现在 Windows 电脑上备份 iPhone 中的手机微信的所有聊天记录,并导出成纯文本格式,这是一个需要耐心的操作,因为首先需要将整个手机备份在电脑上,然后这个工具会从备份文件中读取到微信的记录,并导出。

我大概花了4个小时备份,然后很快导出了我所有的微信聊天记录,其按照聊天对象,被导出到了许多个文本文件中

这里面包括了群聊和一对一的聊天。

然后我开始做数据清洗,大多数群我都是潜水比较多,我筛选出一些我比较活跃的群,此外还筛出了一些和个人的聊天记录,我和他们聊天很多,同时他们也愿意我把聊天记录拿来这么做,最后大概50个聊天的文本文件够我使用。

我写了一个 python 脚本,遍历这些文本文件,找出我的所有发言,以及上一句,做成对话的格式,然后存入 json,这样,我就拥有了一个我自己的微信聊天数据集。

此时我也让同事用爬虫爬取了我自己的所有博客文章,他爬完发给我之后我才想起来,我其实可以用博客后台内置的导出功能直接导出。博客数据虽然也很干净,但我一开始并不知道如何利用,因为我要训练的是聊天的模型,而博客文章是一大段一大段的话,并不是聊天,所以我第一次训练,只用了微信的这些纯聊天记录。

我选择了 chatglm-6b 作为预训练模型,一方面它的中文效果已经被训练的足够好了,另一方面它的参数是 60 亿,我的机器能不太费力的跑起来,还有个原因是,在 github 已经有好几个对其进行微调训练的方案了(我会一起列在文末),此外它还可以简称为 6B,和我做的 6pen 都姓 6,这也让我更倾向于用它。

考虑到我的微信聊天数据最终可用大约 10 万条,我设置了比较低的学习率,同时增加了epoch,在几天前的一个晚上,睡前,我写完训练脚本,并开始运行,然后我就开始睡觉,希望睡醒之后能跑完,但那个晚上我差不多每隔一个小时就醒一次。

早上起来之后,模型训练完了,遗憾的是 loss 下降的并不好,也就意味着12个小时训练出来的模型,并不算好,但我是个深度学习的菜鸡,能跑完不报错我已经谢天谢地了,所以我并没有感到失望,而是开始用这个模型来跑对话。

为了增加一点仪式感,我不想用 jupyter 笔记,或在黑黢黢的终端里去聊天,我找了个开源的前端聊天页面,略做修改,然后把模型部署起来,封装了 API ,然后用前端页面去调用这个 API,于是就可以实现比较像那么回事的聊天了。

请不笑话我,我用自己的 10 万条微信聊天记录,训练出的模型,以下是我和他(或者它?)的第一次对话

 

我又试了下,结果依然不是很好,我不是那种不优化到极致就不好意思拿出手的人,因此我毫不害羞的直接发给了几个朋友,他们给我的反馈是,有点像你,同时他们给我返了对话截图。 

第一个版本,这个模型确实具备某些跟我比较类似的点,我说不好,但有一点这种感觉。

如果你问它,你哪里读的大学,或者你老家是哪里,它并不会回答出准确的信息,并且肯定说的是错的,因为我的聊天记录中并不会有很多人这么问我,从某种角度上,这个模型并不了解我,它像是一个克隆。

当我收到一条微信消息,内容为 A,我回复了 B,那么这里是有一些原因的,这些原因中的一部分,储存在我物理脑袋的七八十亿个神经元里,理论上,如果我产生的数据足够多,也许几千亿条,那么一个参数够大的人工智能模型,就能非常接近我的脑子,10万条也许少了一些,但也足以让模型的60亿个参数里改变一部分,使其相较于原始的预训练模型,更接近我一点。

此外它还有个更大的缺点,就是蹦不出来几个字,回答非常简略,这虽然符合我很多时候的微信聊天风格,但并不是我想要的,我想要它说更多话。

此时我忽然想到了我的博客,如何能把这些博客转换为问答呢,我想到了 chatgpt ,在我精心构造的 prompt 之下,它成功把我博客文章的一段文本,变成了多个对话形式的问答:

某些时候 chatgpt 会返回一些不符合格式的内容,所以我写了一个校对脚本,来将各种不符合规则的返回,统统修改为标准的json,且字段名不变。

然后我将其封装为一个接口,放在了香港的服务器上,并在我的电脑上写了一个脚本,把我的博客文章按照500字划分,拿去批量转成问答,受限于chatgpt的接口速度,我差不多又花了一晚上,才把我的两百多篇博文,转换成了差不多 5000 个对话数据集。

此时我面临一个选择,如果将博客对话加到微信对话数据集里去训练,那么博客对话占比太低,可能影响会非常小,也就是说跟之前的模型差别不大;另一个选择是单纯用文章的这些数据,去训练一个新模型。

我向 6pen 的算法老哥寻求帮助,在确定模型权重可以融合并想办法从他那顺到融合脚本后,采用了后一种方式。

5000个问答,训练速度很快,一两个小时就够了,下午我一边写文档一边瞅一眼训练进度,下班之前训练完毕,我开始进行模型的融合,让之前的用微信聊天记录训练的模型,和用我的博客训练的模型进行融合。

两个模型的权重可以自由配置,我尝试了多种不同的比例,考虑到模型收敛过程中 loss 还有一些反弹,我还尝试了不同步数的模型版本

我整晚整晚和这些模型对话,找到效果最好的,但我发现,我似乎很难找出来,这些模型,有一些不同的表现,有的会比较暴躁,有的像*狗一样,有些特别高冷,有些则很热情,然后我意识到,某种程度上,这或许是我的不同面,这么理解虽然肯定会让搞深度学习,并对其中原理烂熟于胸的人嗤之以鼻,但不失一些浪漫。

最终我发现,聊天和文章两个模型,权重比为 7 比 2 ,且采用第 6600 步保存的模型,融合效果在更多时候,都要更好一点,当然也可能是那个时候已经半夜两点,我的判断力有所下降,但无论如何,我就把他确定为最终模型了。

我和他聊了很多。

很明显,他和 chatgpt 差的极远,没办法帮我写代码,或者写文案,也不够聪明,因为训练用的数据不包含多轮对话,所以多轮对话的理解力更差,与此同时,他对我也不算特别了解,除了知道自己的名字(也就是我的名字),我的其他很多信息,他其实并不能准确回答,但是,他经常会说一些简单的几个字,让我有一种熟悉的感觉,也可能是错觉,谁知道呢。

总的来说,现在存在的所有广为人知的文本大模型,都是用海量的数据训练的,训练过程会尽可能包含全人类所产生的所有信息,这些信息让模型的亿万参数得以不断优化,例如第2043475个参数增加4,第9047113456个参数减少17,然后得到更聪明的神经网络模型。

这些模型变得越来越聪明,但它们更像是人类的,而非个体的,当我用我自己的这些数据去重新训练模型时,我能得到完全不一样的东西,一个更靠近个体的模型,虽然无论是我产生的数据量,还是我采用的预训练模型的参数量和结构,可能都无法支撑起一个能够和我的脑子差不多的模型,但对此进行的尝试,依然非常有意思。

我将这个网页重新部署了一下,并在中间加了一层 serverless 做保护,因此,现在所有人都可以去试试和这个我的数字版聊天,服务由我的祖传V100服务器提供,并且只有一台,所以如果人多的话,可能会有各种问题,链接我会放在最下面。

积极的,发自内心的产出更多的数据,就越有可能在未来获得更接近你的数字拷贝,这或许会有一些道德,甚至伦理问题,但这是大概率会发生的事情,之后我的数据积累的更多,或有更好的预训练模型,训练方式,我可能随时都会重新再次尝试训练,这不会是一个盈利,或任何跟商业沾边的项目,这某种程度上算是我自己追寻自己的一种方式。

这样一想,人生似乎都少了一些孤独感。

我的数字克隆在线聊天:https://ai.greatdk.com

你也可以通过点击最下面的阅读原文去体验,不过因为只有一台祖传V100显卡在提供推理,所以我设置了请求限制,即便如此,它也可能挂掉,我会每隔10分钟重启一下这个服务,如果你确实有兴趣,且发现它挂了,可以过段时间再试试看

我使用和参考的项目:

  • WechatExporter:https://github.com/BlueMatthew/WechatExporter
  • chatglm-6b:https://github.com/THUDM/ChatGLM-6B
  • zero_nlp:https://github.com/yuanzhoulvpi2017/zero_nlp
  • chatglm_finetuning:https://github.com/ssbuild/chatglm_finetuning
  • MoeChat:https://github.com/Fzoss/MoeChat
  • Alpaca: https://crfm.stanford.edu/2025/03/13/alpaca.html
  • LLAMA:https://github.com/facebookresearch/llama


# 人工智能  # 有一种  # 会有  # 我就  # 的是  # 的人  # 我在  # 博客  # 我会  # 关键词  # 自己的  # prompt  # llama  # https  # 微信  # iphone  # serverless  # 算法  # jupyter  # windows  # github  # 对象  # 接口  # 封装  # json  # Python  # chatgpt 


相关栏目: 【 Google疑问12 】 【 Facebook疑问10 】 【 网络优化91478 】 【 技术知识72672 】 【 云计算0 】 【 GEO优化84317 】 【 优选文章0 】 【 营销推广36048 】 【 网络运营41350 】 【 案例网站102563 】 【 AI智能45237


相关推荐: 百度AI助手聊天入口 文心一言对话窗口入口  智行ai抢票怎样设置抢票通道_智行ai抢票通道选择与速度优化【指南】  自动化AI汽车生成挑战赛1966 Gasmea回顾与评分  EcoFlow Delta 3 Max Plus:打造你的智能电力生态系统  如何用文心一言写简历 快速生成高含金量求职简历方法  EdrawMax AI:使用人工智能快速创建流程图和图表  ClaudePC端怎么设快捷键_ClaudePC端快捷键设置【方法】  银行对账单解读完全指南:掌握财务状况,优化资金管理  N8N自动化营销:无需编程实现AI智能获客  使用Agent AI Book Cover Creator轻松设计吸睛图书封面  利用 DeepSeek 进行大规模 C++ 代码库审计  如何通过 DeepSeek 进行深度神经网络超参数搜索  客户生命周期价值:终极商业增长策略  怎么用ai做证件照换底色 AI一键抠图与背景色替换【方法】  使用AI配乐:ElevenLabs Music音乐生成器终极指南  Gacha Club反应视频解析:探索热门角色和独特剧情  智行ai抢票能否跨站抢票_智行ai抢票跨站抢票开启与规则【教程】  lovemo官网直达链接 lovemo网页版在线  SEO必备工具:网站分析与优化终极指南  豆包AI能否用提示词调整回答深度_豆包AI深度控制提示词技巧【方法】  百度浏览器ai助手怎么关闭 百度浏览器ai功能禁用  一键改变发型:Gemini AI 助你轻松打造时尚造型  Weavernote:AI驱动的知识管理与高效笔记应用  AI时代设计师生存指南:职业发展、技能提升与未来趋势  百度AI助手直接入口 一键直达官网入口  韵律分析:为什么理解音乐歌词的韵式至关重要?  Kling 2.0终极指南:AI视频创作秘籍,告别低质量  音乐天赋自测:你天生拥有绝对音感吗?15个问题揭晓  Higgsfield WAN 2.5:AI视频生成工具新纪元  Roblox Studio AI 助手:创意构建与无限可能  亚马逊KDP电子书掘金:月入1万美元的秘密策略  零基础玩转千问AI,轻松实现月入万元的最新方法!  Google AI 在教育领域个性化学习路径的构建  AI合同提取指南:利用智能实现高效采购和节省成本  FeelinAI聊天网页版 Feelin官方网站地址  美图AI海报设计怎样匹配品牌VI_美图AI海报设计VI匹配与色彩校准【教程】  批改网AI检测工具怎样优化检测精度_批改网AI检测工具精度调节与模型选择【实操】  AI赋能营销:角色、策略与工具选择全指南  AI写作鱼怎么一键生成论文大纲_AI写作鱼大纲生成与逻辑梳理【技巧】  钉钉ai划词工具怎样查看划词历史_钉钉ai划词工具历史记录查询【指南】  AI面试助手:提升招聘效率的终极工具  Google Gemini 对复杂物理解题过程的逐步解析  改善面部不对称:简单有效的肌肉平衡技巧  谷歌 Gemini AI 助手详解:功能、应用与隐私设置  千问怎么用提示词生成演讲稿_千问演讲稿提示词框架与开场【教程】  Claude如何关闭自动续费_Claude续费关闭方法【方法】  AI时代生存指南:掌握软实力,成为不可替代的人  Guru知识管理平台:AI驱动的企业知识中心构建指南  tofai免费网页版入口 tofai官网手机版网站  使用双端队列(deque)解决字母字符串问题 

 2023-04-23

了解您产品搜索量及市场趋势,制定营销计划

同行竞争及网站分析保障您的广告效果

点击免费数据支持

提交您的需求,1小时内享受我们的专业解答。

南京市珐之弘网络技术有限公司


南京市珐之弘网络技术有限公司

南京市珐之弘网络技术有限公司专注海外推广十年,是谷歌推广.Facebook广告全球合作伙伴,我们精英化的技术团队为企业提供谷歌海外推广+外贸网站建设+网站维护运营+Google SEO优化+社交营销为您提供一站式海外营销服务。

 87067657

 13565296790

 87067657@qq.com

Notice

We and selected third parties use cookies or similar technologies for technical purposes and, with your consent, for other purposes as specified in the cookie policy.
You can consent to the use of such technologies by closing this notice, by interacting with any link or button outside of this notice or by continuing to browse otherwise.