<iframe title="AI知识库的终点" src="https://www.youtube.com/embed/BR_-aoHiM9E?feature=oembed" height="113" width="200" allowfullscreen="" allow="fullscreen" style="aspect-ratio: 1.76991 / 1; width: 100%; height: 100%;"></iframe> #知识库 #RAG #GraphRAG #模型微调 #SecondMe #AI分身 ## Key Takeaway - 传统RAG在处理复杂查询时存在局限性,无法有效捕捉实体关系和层次结构。 - Second Me项目通过混合记忆架构(结合RAG、GraphRAG和本地模型微调)来解决传统知识库的局限,旨在打造一个能模仿用户风格、语气和关注议题的“第二个我”。 - 混合记忆架构包含三个层级:L0(快速检索层,RAG)、L1(记忆深度处理与结构化层,GraphRAG)和L2(模型个性化微调层)。 - Second Me的部署和训练过程包括自我介绍、上传资料、输入API Key和选择Base Model,核心在于五个步骤的训练。 - 该项目能够实现个人知识库与大语言模型能力的结合,提供更先进的AI交互体验,并具有将个人分身发布到网络供他人调用的想象空间。 ## Full Content 每一个搭建AI知识库的人,都有一个终极梦想: 把自己手头的所有资料,甚至毕生所学,全都教给AI。这样一来,我们知道的,它都知道。而且,它还有我们不具备的超强计算能力。 简单来说就是:第二个我。 用RAG做不到这一点。过去一年,我出过好多期关于RAG的视频。但是,当我了解得越深、用得越多之后,我越来越明白RAG在技术上的局限性。 你想嘛,无论你用什么样的策略,最终召回的还是那些被切碎的、独立的文本块,这一点不会改变。 要实现刚才说的“第二个我”的终极目标,今天的RAG还太初级。但是我知道,肯定有人在研究、在开发。 Second Me就是截至目前最让我欣喜、最让我看到希望的项目。 它采用混合记忆架构,有点类似于咱们人类大脑的短期记忆和长期记忆。 为了实现这个架构,Second Me把RAG、GraphRAG都用上了,去深度处理用户提供的文档。最后,基于这些处理过的数据,它还在本地微调一个模型。 也就是说,这个项目其实已经脱离了知识库的范畴。因为最后我们进行交互的,是一个完全根据你的风格、语气、表达方式,以及最关心的议题所定制出来的模型,再搭配上结构化处理的知识库。 这样一套解决方案,比我们现在在用的AI知识库,显然先进得多。 哈喽大家好,欢迎来到我的频道。谦虚地说啊,我是国内少数几个能把关于AI的Why和How讲明白的博主。我提供的东西比教程更值钱。记得点一波关注。如果想链接我,就来newtype社群。已经有超过1000位小伙伴付费加入啦! 回到今天的主题:Second Me。 这个项目其实是社群里的小伙伴发现的。当时他在星球问我,怎么本地部署。我试了一下,完全没问题啊,一路上没遇到任何报错。 就像GitHub上说的那样,你先把Python和Xcode命令行工具安装好,这是必须的。 然后把整个仓库下载下来。我当时没用这行命令,而是直接下载压缩包。 再然后,用cd命令进入项目文件夹,运行make setup。它会自动安装需要的一切。你就啥也别管,等着好了。 等全部安装完成,用make start命令启动项目,然后打开一个本地链接,就可以开始训练了。这个环节也很简单,就做三件事: 第一,做个自我介绍。因为,你给的资料,最终一定要跟你的身份属性相结合,才能描绘出一个生动的你。不然就只是一堆“死”的数据。 第二,上传资料。你可以直接贴文字进去,也可以上传文档。我是直接把我视频脚本的文件夹拖进去了。 第三,输入OpenAI的API Key,以及根据你机子的性能,选择一个Base Model。 这边我需要说一下。我的机子是M4 Pro芯片,48G统一内存。平时跑7B的模型完全没压力,所以就选了7B。结果到最后的微调环节,内存压力还是有点大的。我不得不把处理项目以外的软件全都关了,才顺利完成。至于OpenAI的API,花不了多少钱。你看,我这边快100个文档,花了3美金。因为它用的是GPT-4o mini,白菜价。 当你把这三步都设置完毕,就可以正式开始训练了。Second Me的核心,就在这五个步骤的训练中。 第一步,它需要下载Base Model,用的是Qwen2.5。最后的微调就是基于这个模型进行的。 第二步,处理用户上传的资料。这边用到了RAG技术,也就是把所有文档切成更小的文本块,然后把文本块转换成向量表示,最终完成基础数据的准备、索引的创建。 第三步,提取更深层次的结构化信息。这应该就是GraphRAG技术。因为通过第二步的处理,我们得到了一大堆文本块,它们都是独立存在的,是散的。但是,如果你站在整篇文章的角度来看,文本块之间,或者说上下文之间,应该是有逻辑关系的。由于RAG技术的局限性,这种逻辑关系丢失了。 所以需要GraphRAG,把人名、地名、概念等等实体,以及实体之间的关系,全部识别、提取出来,形成一个关于你这个人、关于你的知识体系的图谱。 第四步,准备用于微调的数据集。光有用户上传的资料还不足以进行微调。因为这些资料当中,哪些数据需要增强,还得依靠前两步的处理才能知道。比如,跟用户身份特征有关的数据显然需要强化。 第五步,正式开始微调。这一步最吃性能,也最花时间。我从下午等到晚上才搞定。 这五个步骤,其实就是在实现所谓的“混合记忆”架构。这个架构包含L0、L1和L2三个层级。 第二步的RAG,对应的是L0,也就是“快速检索层”。它是一种简单、快速的记忆检索机制。你可以把它看成是人类大脑的短期记忆。 第三步的GraphRAG,对应的是L1,也就是“记忆深度处理与结构化层”。它的目标是深入理解记忆内容,提取结构化信息。你可以把它看成是人类大脑的长期记忆。 第一步、第四步和第五步,对应的是L2,也就是“模型个性化微调层”。它的产物,就是那个经过个性化训练、能够模仿用户,并且利用知识库的Second Me模型。 这一大套的东西,都是为了让三个层级共同协作,实现了一个把用户个人记忆,或者说个人知识库,与大语言模型能力相结合的“混合记忆”系统。 至于怎么使用,很简单:点击“Start Device”,这个项目会通过llama.cpp加载训练好的模型,然后咱们正常对话就好。 因为资料都是我自己写的视频脚本,所以我再清楚不过了。我用下来的感受是,它不像RAG那么机械,没有那种复读机的生硬感。它似乎跟我一样了解所有的内容。这个就是“混合记忆”带来的体验。 说实话,一年前,我跟VC的小伙伴喝茶的时候还讨论过,可以参考人类记忆的特性去打造个人AI分身。现在看到有人实现了,我是真的很高兴。 而且,Second Me还有更多想法。比如,你可以把自己的分身发布到网络上,供他人调用。你也可以跟那些在线的、其他人的分身对话。这个可太有想象力了,大家可以细品。 我建议大家有条件都试试Second Me。能把RAG、GraphRAG和微调全都用上,发挥在最适合的地方,这是很厉害的。 OK,以上就是本期内容。想了解AI,想成为超级个体,想找到志同道合的人,就来我们newtype社群。那咱们下期见!