粉丝3183获赞1.8万

哈喽,朋友们,在上一期的视频中,我们聊了个人知识库的几种实现思路和工具分享,主要解决的是怎么管理自己的资料和笔记。那今天要讲的企业知识库面对的是另一个完全不同的问题,我们要如何管理分散在组织各个位置的知识? 比如我们的沟通记录在 m 工具里,项目的过程,在写作文档里记录信息,又在代码仓库里,还有一些关键的决策可能藏在邮件和会议纪要里。 现在的企业会用大量的萨斯工具,每个工具都有一部分知识,但没有任何一个地方拥有全部的知识。所以企业知识库真正要解决的不只是文档回答,而是怎么把分散在组织各处的知识重新连接起来。 这期我们就聊聊企业知识库到底该怎么答。我们先看一下在线方案,比较典型的有两种模式,第一种是类似个令的这种独立知识中书,他的思路很直接,既然企业知识分散在不同的系统里,那就不要强行把所有的资料搬到一个地方, 而是在这些系统之上做一层统一的 ai 搜索入口。用户提问的时候,他可以同时去查询聊天记录、网盘文档、项目资料、代码仓库或者业务系统,最后把分散的信息整合起来,给出一个相对完整的答案。 所以他真正的价值不是 ai 很 聪明,而是他能跨系统找到信息。如果一家公司的工具很多,系统很杂,知识到处分散,那这种独立知识中书就比较适合。 第二种是类似 copilot 这种嵌入式的 ai 模式,它和前者不一样,独立之中,书是在多个系统上做一个统一的入口,嵌入式 ai 则是直接进入企业原本就在使用的办公套件里, 你在哪里写文档、开会、收邮件、存文件, ai 就 在哪里帮你总结、解锁和生成内容。这种模式最大的优点是体验顺,用户不用切换到一个新的平台, ai 就 在原来的工作流里,但它也有局限性, 他更适合已经深度使用某一套办公系统的企业。如果企业的知识大量散落在这套系统之外,比如说外部的工具、自研的系统、业务系统,那覆盖范围就会受限。所以在线知识库的优点就是成本低,也没有什么上手难度,因为他解决的就是跨系统解锁和统一入口的问题。 但在线方案都有一个共同的前提,企业要接受把数据交给第三方平台处理。对普通的企业来说,这可能没那么敏感,但对金融、医疗、法律这些企业来说,这些就不是技术问题,而是合规、安全和数据主权的问题。 那如果企业对数据安全、权限、审计、魔性可控、私有化部署有强要求,那就必须考虑自建的路线。 很多人一说自建知识库,第一反应就是 reg。 可是就今天来看,企业如果想要自建知识库,单纯靠简单的 reg 已经无法满足需求了,而是一个逐渐升级的体系。我会把它分成三层 reg、 几何 reg、 阳性的 reg。 这三者不是互相替代的关系,而是递进的关系。第一层,普通 reg, 它是企业自建知识库的递进的关系。第一层,普通 reg, 它是企业自建知识库的递进,你可以简单理解为,先把企业里的文档存进向量数据库, 等用户提问的时候,系统先去知识库里面找相关的内容,再把找到的片段交给大模型,让大模型深层回答。这就是最常见的 rap 路线。它的优点是成熟通用,工具链也最完整。 不管是企业的内部文档回答、客服的知识库自助查询产品手册,还是项目的资料解锁,经典的 rap 都很适合,因为他要解决的核心问题就是从一堆的文档里面找到和问题最相关的内容。但普通的 rap 也有一个明显的局限, 他虽然很擅长查资料,但是不擅长串联关系。比如说你问他 a 项目和 c 客户之间有什么间接关系,答案可能不是写在同一份文档里面,而是分散在多个地方。比如说一份文档里面说 a 项目服务了 b 部门,另一份文档说 b 部门负责 c 客户,还有一份文档里面才提到了 c 客户的决策背景。 这时候普通的 reg 就 很容易断掉,因为它通常是查一次答一次。它能找到相似的片段,但不一定能把这些片段背后的关系链路串起来。这个问题不是简单的调大 chang, 或者说换一个 enabine 模型就能够彻底解决的,它本质上是架构层面的限制, 所以当企业知识库需要开始理解关系和内容时,就会进入第二层, graph rag。 那 关于 graph rag 的 核心思路就是在 rag 的 基础上加一层知识图谱。普通的 rag 是 把文档切成片段,然后根据相似度去找内容。但 graph rag 会更进一步, 他会先从文档里面抽出关键的对象和关系,比如说人、公司、项目、产品,然后把这些对象之间的关系关联起来,形成一张知识图谱。这样用户提问的时候,系统就不只是找相似片段,还可以顺着图谱去查询关系,找路径,做多条的推理。 那简单来说, graphreg 更适合那些关系比较复杂的场景,比如说金融、法律咨询、企业经营这类的垂直领域。但 graphreg 也不是免费的午餐,它的成本要比普通 reg 高很多。 第一,建图的成本高,文档里哪里是实体,哪里是关系都要被抽出来,这通常需要大模型参与。 第二,维护复杂。同一个客户可能会有多个名字,同一个项目可能有不同的写法,关系也可能随着时间变化,这些都是需要持续治理的。 第三,不是所有的场景都值得上。如果你只是做制度的回答,流程的查询,产品手册的检测上, graphregg 可能就是大材小用了。但当企业的问题不再只是查关系,而是需要系统自己去拆解问题,选择支持员进行多轮解锁、综合判断时,就会进入第三层。 agantagregg 和前两种最大区别是,它不只是被动的等待用户提问,然后查一次资料,生成一次回答,它 让智能企业参与进来,自己判断这个问题要不要拆解,应该查哪些知识点,查一次够不够,当前的结果是否可信,要不要继续解锁,最后再把多个结果综合起来。也就是说, agentacreg 把 reg 从被动解锁升级成了主动决策。 举个例子,如果你说我们公司过去三年在制造业客户中的交付问题和今年新的产品规划有什么关系? 这个问题就不是一次解锁能解决的,他可能要先查历史的项目,再查客户的反馈,再查产品规划和售后问题,最后把这些信息放在一起做归音和总结。这种需要拆解问题、多人解锁、多元综合的场景就比较适合 agente reg, 它适合复杂的咨询、研究分析、多文档综合合规审查,以及内部知识和外部数据混合剪辑的这类任务。但同样, ajax 也有自己很明显的问题,第一慢,因为它往往要进行多次的剪辑,多次的调用模型。 第二贵,因为调用的次数变多之后,托克的成本会明显上升。第三,比较难调试,因为 agent 的 执行路径不是完全固定的,同一个问题,不同的时间可能会走出不同的剪辑链路, 所以 a j tech 不 适合一上来就做,他更适合建立在普通 tech 和必要的结构化知识基础之上,作为更高阶的能力补充。 那介绍完了以上的所有思路后,我的建议是,企业自建知识库,不要一上来就追求最复杂的技术。先问三个问题, 第一,给谁用?个人知识库关注的是效率和沉淀,企业知识库关注的是权限、协助、集成、审计和规模,所以组织级的知识库不要直接套个人工具的思路。 第二,能不能自建?如果企业不想投入太多的技术成本,也没有强隐私和合规要求,可以优先考虑在线的方案,但如果对数据主权、业务系统集成、权限、审计、解锁可控性有要求,那就应该考虑自建的路线。 第三,问题的复杂度有多高?简单的回答,用普通的 reg 就 够了,需要理解跨文档的关系,再考虑 graph reg, 需要系统自己拆解问题,多轮解锁,多元综合,再考虑 ajax。 最后,我想说,很多知识库项目的失败,不是因为技术不够高级,而是因为一开始就把问题复杂化了。 企业知识库的最终目标也不是把所有的资料都塞进 ai, 而是让组织里的知识在真正需要的时候能够被找到、被理解、被验证和被附用,这才是企业知识库的真正价值。 ok, 那 以上就是关于企业级知识库的全部分享,结合上一期的个人知识库,希望我的视频对你有所帮助,我是布鲁,你的 ai 好 搭子,我们下期视频再见!

说一下 i a g 中的现场中以前用到的一种算法叫 t f r d f, 虽然这个名字感觉有一点 抽象,但其实它的核心思想是比较简单的。就比如说你给一段提示词,如何做一只?如何做一只烧鸡,如何做一只烧鸡? 比如说你 ig 的 数据库里面 有很多个文档,那他怎么判断哪个文档和你的提的词最相配,能够提供比较多的信息呢?把这些词分割开来, 看在哪些文档中出现的次数多,然后进行对这些文档进行打分。 可是这里面会出现一个问题,有的文档长,有的文档短,这样比较起来就不公平,他最后这个打分所以说也要除以一下文档的长度, 这是第一种。第二个,有些文档中他虽然出现了这些词, 但是这些词的特点或者说它们的重要性并不是一致的, 或者说并不是相同。比如说如何做一只烧鸡,那肯定只有烧鸡这个词才是最关键的。你如何做一只?如果有个文档它出现了很多一一一,或者出现吱吱吱,那这个并对于 这个问题来说并没有很大的意义。所以说他还会做一件事情,就是说 其实有点类似于相反的概念,就是看这些文档中哪些词出现词,比如说某些词 e 这个词在所有的文档中都出现,那说明他没有特点,他就是不是重要的。 如果烧鸡这两个词在可能在某些文档中只出现,那么这个词它就很重要,但你最后在计算它出现的次数和这个重要的信的时候,它会综合考虑这两个效果,其实这就是这个算法的比较核心的一个思想。

当 ai 掀桌时,没人会等你学完 hello, world。 如果你不知道从哪里开始,接下来请和我速通八个 ai 必学的顶级知识点,掌握四种以上的人,可以胜任百分之八十的 ai 岗位,更多 ai 大 模型学习物料可在这拿走。 为什么你给大模型为了几千份公司文档,问他对比 a 公司和 b 公司过去三年的研发效能,他给你的答案却只是一堆碎片的堆砌,甚至逻辑混乱,答非所问, 难道是他的记性不好吗?大家好,我是彭宇。其实啊,并不是模型记不住,而是因为他缺乏一套能够深度思考的大脑流程。今天咱们就来聊聊 rag 技术是如何从单纯的知识搬运进化到如今的推理型 rag 的。 咱们先回想一下传统的 rag 是 怎么干活的, 他其实特别像一个只会查字典的搬运工用户提一个问题,他就去数据库里搜关键词,搜到几个片段,往模型手里一塞就完事了。 你想想看,这种模式下,语义匹配其实是非常脆弱的,它只管按照字面意思去对,根本不顾上下文的逻辑。如果你问的问题比较复杂,需要跨好几个步骤才能得出结论。这种点对点的剪索就彻底抓瞎了, 因为它缺乏那种多跳的能力。最后的结果就是模型把一堆噪音数据堆在你面前,甚至产生严重的幻觉。那现在的推理型 reg 又是怎么做的呢?简单来说,它不再是一个搬运工, 而是一个带着大脑查资料的分析师。他不再盲目的直接搜索,而是把核心功夫花在了剪辑前后的拆解和验证上,他在干活前会先动脑子想这个问题到底在问什么?我需要分几步去查, 查出来的东西到底对不对?大家看这张架构图,推理型 reg 的 精髓其实就藏在这三个关键阶段里。首先是剪辑前的推理阶段,你想想,如果用户的问题很模糊或者很复杂,咱们能直接搜吗?肯定不行。 所以这时候需要做查询拆解,把一个大问题拆成几个互相有关联的小问题。然后还得做意图路由,判断这个信息是该去项链库里搜,还是去图数据库里调取逻辑关系, 甚至如果发现用户问的不专业,系统还会自动进行查询重写。这一步啊,就是为了确保咱们出发的方向是对的。这一步啊,就是为了确保咱们出发的图标。大家注意看,传统的剪索是搜一次就结束了, 但推理型 reg 是 迭代式的,它会一边搜一边响。哎,我刚才搜到的这些东西,能回答用户的问题吗?是不是还缺了点什么?如果发现信息缺失,它会进行动态纠篇,修正关键词后再搜一次。 这里通常会用到混合检测,把向量的模糊匹配和知识图谱的精确逻辑结合起来。这种自反思的机制,就像咱们查资料时发现不对劲,会换个关键词再查一遍一样,直到把信息补全。最后是解锁后的推理, 这时候资料已经摆在桌子上了,但还不能直接给用户。系统会先做一个知识区类,把零散的信息聚合成有逻辑的段落。如果发现不同来源的信息互相矛盾,比如 a 文档说日期是一号, b 文档说是二号, 他还得进行冲突解决。最终,模型会带着一套清晰的思维链,把答案输出给用户,让你一眼就能看清他是怎么推导出来的。讲到这,你可能会好奇,这种深度推理的能力到底是从哪来的呢? 其实,这里有两个非常前沿的启发点,一个是图结构驱动的宏观推理。传统的剪索就像是大海捞针,能找到具体的针,但没法告诉你这片海的洋流是怎么走的。而现在的方案是利用知识图谱, 把碎片知识预先聚合成高层的摘药。当你问一些宏观趋势的问题时,他不是在搜碎片,而是在搜摘药层。这样一来,系统就拥有了宏观认知能力。另一个启发是原生长思维链的慢思考。 咱们现在的趋势是让系统在开口说话前,先进入一个专门的思考阶段。在这个阶段里,系统不急着输出答案,而是不断的自我拷问。如果逻辑不通,他会主动要求去补充剪辑。 这种把剪辑变成模型内在探索能力的做法,让 reig 真正有了灵性。不过啊,咱们在落地这套架构的时候,也得留个心眼, 推理型 reg 虽好,但也面临不少挑战,最直观的就是首次延迟变大了。你想啊,模型在那又是拆解又是反思,还得反复搜,响应速度肯定比传统 reg 慢。 所以咱们在工程上得做动态路由,简单的问候直接秒回、复杂的财报分析,再启动这种深度的慢思考模式。 另外,最近常文本模型非常火,很多人问,既然模型能读几十万字了,咱们还需要 reg 吗?其实 reg 的 定位已经变了,它不再是单纯为了解决记不住的问题,而是成了解决知识失效性、 私有权限隔离和防止幻觉的最强防线。 reg 变成了模型的一套精细化数据加工流水线。 最后,咱们以前那套评估 reg 的 指标也不够用了,光看搜的准不准已经没意义了,咱们得看它的逻路径对不对, 中间的反思到底有没有效。说了这么多,咱们最后总结一下,如果说传统的 rig 让我们拥有了海量的知识,那么推理型 rig 则是赋予了这些知识思考的灵魂。咱们一定要记住这句话,绞索决定了知识的边界, 而推理才真正决定了智慧的高度。未来的 reg 绝对不再是一个简单的插件,它会和推理生成深度融合在一起,成为一个真正能自主解决问题的智能体。好,今天的分享就到这里,希望能给大家带来一些启发,咱们下期再见。

我朋友最近问我一个问题,我以前直接问 a a, 他 都会说很标准的话,平台政策、商家政策,建议咨询客服。 这种话听起来没错,但没法直接用。后来我就把这个售后文档给他之后再问同样的问题。他能说这个产品如果只是外包装拆封,但主体没有使用痕迹, 可以在七天内走退货。如果已经激活或产生了使用记录,只能走售后检测。你说这 ai 会不会把我上传的内容拿来做训练了? 我跟他说,他不一定是把你的资料学进脑子里了,更多的时候他只是回答之前先翻了一下你给他的资料,这个就叫 r a g, 中文我们一般叫解锁增强生成。你就先记一句话, r a g 啊,就是让 ai 回答问题之前, 先去你给他的资料里查一遍,再根据查到的内容组织答案。当我们给 ai 挂上知识库以后,他看起来变得很聪明,不是说他真的被重新训练了,而是像以前他是 b 卷考试,现在你把参考资料放到他桌上了。 为什么说我们用普通 ai 在 回答一些专业问题上很需要?因为他不知道你公司的具体规则,他可能知道什么叫售后,也知道什么叫七天,无理由,他也知道客服的回复要礼貌一点,但他不清楚的是 公司怎么定义拆封,什么情况算主体有使用痕迹,不知道产品激活以后还能不能退,也不知道售后文档有没有修改过。我们直接问他 客户拆封之后能不能退,该怎么回复,他能给一个很保守的回答,但没有用,因为客户要的是公司的明确规则,这个时候我们再把售后政策、产品手册放进知识库, ai 的 工作方式就变了, 他会先去资料里找,哪里有拆封、怎么退货,七天的政策,如何算激活,哪里是使用痕迹。找到这些相关内容后,再把内容整理成一段能发给客户的话。但是这里要注意一点,他不是突然变成你公司的老员工, 而是看到了你给他的员工手册。这个就是 r a g 和普通聊天 ai 的 最大区别。普通聊天的 ai 主要靠的是模型,原本知道的东西回答,你问他通用问题,他就很强。比如写文案、改语气、解释概念、总结,你发给他的一段话, 他都能照做。但你问公司内部的规则,他就很容易虚,因为这些内容不一定在他原本的知识里。搜索也不一样,搜索是帮你找资料,他可能给你一堆链接、一堆文档、一堆原文段落,但你还要自己点进去看,自己判断哪一段有用,再自己组织成回复。 r a g 夹在中间,它不是单纯的聊天,也不是只给你资料链接,它是先做的剪索,再做的生成。所以 r a g 的 关键不是 ai 自己知道的更多,而是 ai 在 回答之前多了一个插资料的动作。 这也就是为什么我们一直叫他给 ai 挂知识库。很多人一听知识库就会觉得我把资料传上去了, ai 是 不是都会把它们全学会了?更准确的说,是我们把资料放到了一个 ai 可以 解锁的地方。当你进行提问时,系统会先从这些资料里找出相关片段, 再把这些片段交给 ai, 让它参考回答,所以它更像开卷考试,不是重新训练大脑。那它的背后大概有几步呢?第一步,先把资料放进去,比如说我们的产品手册、售后政策、课程笔记、公司制度、合同模板, 这些资料都会变成 ai 可查的内容。第二步,用户在提问时先会找相关的资料,比如说我们问拆封后还能退吗?系统就会资料里找拆封、退货、激活、使用痕迹相关的段落。第三步,它就会把找到的资料交给 ai, 生成答案, ai 根据这些资料,用我们设定的口吻再把答案写出来,这个就是 r i g。 那 提到这,就有一个一直很担心的问题,我们上传的资料会不会拿去训练模型?这里要分清两件事, r i g。 这个技术动作本身不等于训练模型, 训练模型是让模型长期学习,改变模型自己的能力和记忆,就像一个人读了很多书,长期学习之后,脑子里就形成了知识。 r i g。 更像是临时的把资料递给 ai, ai 回答的时候看一眼。所以从机制上讲, rit 不是 把我的资料训练给了模型,它更像是模型。在回答前先查一下我们的资料,但是要注意点, rit 的 本身不是训练,但你上传资料的平台怎么处理数据,要看它自己的数据决策。如果你传的是公开的产品,说明公开的课程资料问题可能没那么大。但如果是客户隐私合同,公开的课程资料问题可能没那么大。但如果是客户隐私合同、财务的 ai 工具里, 要看它有没有企业数据的承诺,是否有说清楚用于训练,那收回来。在我们工作中,什么场景适合用 i g 呢?最适合的一个点就是你本身的答案啊,就藏在资料里,而且经常会有人问。比如我们常见的客服问答, 客户反复问退款、发货、保修、激活套餐的区别,这些答案本来就在产品手册和售后政策里面,让 ai 先查资料再回答就很合适。再比如说公司制度, 我们员工总问到报销流程、请假规则、入职材料、系统权限、怎么申请,这些问题都不需要 ai 发挥创造力,它只需要按制度回答就可以。 再比如一些课程资料,学员问某个概念在哪一节讲过某个方法,怎么用, ai 就 可以查讲义笔记录播文字,变成一个课程助手。我们不一定要让 ai 啊,帮我们做最终判断, 但可以让他先从资料里找到相关的条款,相关的记录,相关的说明,这些都很适合 r a g。 那 如果我们只是想要 ai 帮我们想十个标题,这不需要让 ai 改文案也不需要。如果只是问通用理念,也不需要用到 r a g。 r a g 最适合的就是有答案有依据的问题。 当然,这里也要提一点,我们很多人都以为挂了知识库, ai 就 一定不会胡说了,没那么简单。 ig 呢,只是可以减少胡说,但不能完全保证不出错。所以我们在面对问题时,还是要去追问它的来源以及引用的点是哪里。 一个靠谱的知识库, ai 不 应该只给我们一个看起来很顺的答案,他一定要告诉我们这个答案参考了哪份文档,引用哪一段原文,依据从哪来? 同时我们在提问里也要标注清楚,让它给我们对应来源的参考,尤其是售后合同、财务、法律、医疗这些高风险内容, 不能只看 ai 说的像不像,真的要看它是否有依据,能不能查到原文,能不能再返回头检查。 r a g 的 本质不是把 ai 训练成专家,而是让 ai 回答前先翻你指定的资料。 训练是让 ai 回答前先翻你指定的资料。训练是让模型临时的查到,这两个千万不要混在一起。最后做个总结,一句话,记住 r a g, 它不是让 ai 凭空变聪明,而是让 ai 回答前有资料可查。在你的工作中,你是否有哪些场景可以固定成 r a g 的 知识库,让 ai 帮你统一回答呢?欢迎评论区留言关注我,带你了解更多的 ai 知识!

二 a g 是 目前 ai 应用落地里最成熟也最基础的板块之一。这一期我们从零开始拆解二 a g, 它为什么存在?怎么跑通做好它?到底难在哪里?看完这条视频,你不会变成二 a g 工程师,但你会看懂它的底层逻辑,以后刷到相关的内容不会再觉得云里雾里。 现在主流的 ai 大 模型几乎把人类公开的知识都读了一遍,但你跟他聊几次就会发现,这个最强大脑知识盲区还真不少。第一个原因是知识的时效性,大模型的知识停留在他被训练完成的那一刻,你可以打开常用的 ai, 问他一句,你的知识更新到什么时候。 第二个原因是思域知识的缺失。大模型训练用的全是公开的数据,而你公司内部的规章制度、产品文档、客户资料、业务数据等等,还有你多年累积的业务判断和思考,这些他通通不知道。所以一聊到具体行业、具体业务,他的回答就开始变得空泛,不接地气,缺乏深度 解决思路。其实很直接,对话的时候把他不知道的东西直接喂给他。而现在几乎所有的 ai 应用都标配了搜索工具,本质就是动态补充知识。但企业级场景就没这么简单了,一家公司动辄上万份文档,你不可能每次对话都把它们全塞给模型。 一来模型的上下文窗口有限,塞不下。二来就算塞得下无关信息,反而是噪音,导致模型回答的质量下降。于是大家便想到给大模型外挂一个可以随时查月的知识库,在模型回答之前,先去这个知识库里解锁相关内容,再把这些资料连同用户的问题一起发给大模型,增强它的输入,最后由模型来生成回答, 剪缩增强生成,这就是 r a g。 那 r a g 具体怎么跑通呢?我们先从最简单的流程开始拆,首先要剪缩出真正相关的那部分资料。最直接的方法是关键词剪缩,但它有个死穴, 只看字面,不看语义。比如你搜苹果手机,文档里写的是 iphone 用户问如何降低云服务成本,文档写的是优化 a w s 账单支出,字面上零重合,但意思接近,用关键词剪缩就会抓瞎, 所以我们需要语义简缩。但是问题来了,计算机不懂人类语言,只懂数字。于是有了一项关键技术, embedding, 把一段文本转换成一串固定长度的数字,也就是一个高维向量,它能把每段文本映射成高维空间里的一个点,意思越接近,点就越近。这样一来,语义是否相关,就变成了两个点距离有多近。这个纯数学问题, 用户的提问也被转成像量。然后就在这个空间里找最近的那几个点,就是对应最相关的文档找最近的点。常用两种算法,欧式距离两点之间的直线距离越短,越相似。于弦相似度,看两个向量的方向夹角,夹角越小越相似。二 a g, 常用的是后者。 于是在剪辑前面就需要加一步向量化,向量化需要专门的 embedding 模型来处理,而 embedding 模型输入长度也有上限, 直接塞一个超长文本,要么报错,要么直接被截断。更重要的是,剪辑的目的是找到最精确匹配的内容。如果一个文本太长,里面可能混着好几个话题,语义就会被稀释,剪辑精度大幅下降。于是,在剪辑之前,我们需要把文档切分成一个个语义聚焦的小片段,也就是 trunk。 这时候,向量化前面又增加了一步切分。那切分的内容从哪来呢?直接拿原始文件切吗?显然不行。导进知识库的资料格式五花八门, word、 pdf、 excel、 网页、图片等等,机器没法直接读,于是前面还要加一步解析,把所有原料转换成后续二维能处理、能解锁的结构化内容。 到这里,一个最简单的 r e g 闭环就拼出来了。乍一看,感觉 r e g 好 像也没那么复杂,但很多人自己动手搭一个,发现这东西能跑通,但是不太准。看似简单的几步,每一步背后都藏着大量需要填的坑。要做到精准解锁到真正相关的内容,每个环节拆开都是一个工程难题。 所以常常听技术说, r e g 是 一门门槛不高,但是上限极高的技术。从导入资料这部开始就是填坑,这是 r e g。 百分之八十的效果,取决于数据与处理 模型。最喜欢结构清晰的格式,例如 modding jason。 但企业里的资料长什么样呢? word、 excel、 ppt、 扫描件、图片、网页等等。最让人头大的就是复杂版式的 pdf 正文、跨页表格、嵌套表格、图片、公式、代码、双栏排版混在一起, 你随手拿工具一转,就会发现表格被拍扁,双栏内容串行了,图片直接丢失,扫描件干脆识别不出来,会给后面的环节就是一团乱麻,应了那曲 gaibing gaibiao, 所以这个环节衍生出一整个细分领域,简单文档有现成的 python 库,扫描件需要 o c r, 复杂 pdf 则催生一批专门的解析工具,比如 manu lama pass, unstructure maker, 它们的目标就是把摆烂式文档高保真的还原成结构化数据。 我们接着来看切分的环节。切分的核心矛盾是在完整和聚焦之间找平衡,切的太小,语义不完整,一段话切了一半,前后两块都没头没尾。切的太大嘛,语义不聚焦,一大段话里面有几个主题压成一个向量,等于把所有细节平均掉,解锁精度直接下降。 而且还有更具体的麻烦,表格被切散,数字和表头分了家段落里有它这个方案。这种代词切走之后没人知道指的是什么论点,一块论据一块,结论一块单独剪辑,哪一块都不完整,所以也发展出来很多切分策略。固定长度切最简单粗暴,但也最容易切坏句子和结果。 滑动窗口切相邻两块有一段重叠,来减少重要信息被切断的风险,但有可能会导致剪辑优先按段落切,段落太大再按句子切,再不行才按字母切。 那父子块则是用小块去做剪辑,这样精度高但实际未给大模型的是包含它的大块来保证上下文的完整性。这里列了一些主流的切分方法,大家有兴趣可以深入了解。 那日内主流的框架像 longchain 呢? lama index 里面光切分器就有十几种,每一种适合不同场景。在这一步,其实没有唯一的最优解,那只有最适合你的数据的切分解法。 到了向量化这一步,选对模型很关键,因为一旦选定知识库,就跟这个向量空间绑定了,不同模型产出的向量根本不在一个坐标系里。 b g、 e 的 幺零二四为向量和 open n i 的 三零七二为向量,硬算与弦相似度没有任何意义。 所以一旦想换模型,要么把所有 chunk 全量重算重建锁影,要么新旧锁影并行一段时间慢慢迁移,但迁移成本非常高。 选引编码模型的话,主要看四个维度,上下为长度、向量维度、语言和领域的适配、部署方式与成本。这是一张主流编码模型对比表,那开源代表是 b g、 e 和千问三闭源 api 主流是 openai cohere 和 jammin, 因为涉及企业内部资料的场景,考虑数据隐私,通常会选择本地部署开源模型。 向量化之后,这些向量得有地方存吧?如果只是几千条数据存,内存里暴力剪辑都行。但一旦上了规模,就需要专门的向量数据库,它的核心能力是在百万千万级向量里,毫秒级返回。最相关的 top k。 选哪个主要看数据规模和使用场景。这是一个参照 到剪辑这个环节,视频开头我们说的关键词剪辑的死穴。其实语义剪辑也有弱点,它对专有名词、专业术语、产品型号、人民等等精确匹配的场景反而不擅长。 举个例子,你想搜索 gpt 五点五的资料,向量剪辑里五点四、五点三四的向量距离都很近,模型可能给你召回一堆相关但不精确的结果,所以工程上也常见混合剪辑,关键词剪辑负责精确匹配语义剪辑负责理解意图。两个方法一起上,再合并结果。 解锁时,系统会返回最相关的 k 个后选片段,称为 top k。 k 取多少很有讲究,取太少怕漏掉关键信息,取太多噪音又会变大。所以工程上一般分两步走,召回阶段,先取一个宽松的 k, 比如几十甚至上百条,尽量不漏,再加一个 re rank 模型做精细排序,从中挑选出最终的 top k, 比如五条,交给大模型 解锁这一步还有一个隐藏的坑,用户的问题本身可能就不适合直接拿去解锁,比如用户问项目进展怎么样,你都不知道它指哪个项目。多轮对话里,这个问题更明显, 第一句, gpt 五点五的上下文窗口多大?他第二句,那它的价格呢?这个它只带不清,直接拿去解锁就会一无所获。 所以又衍生出了一类办法,呵睿优化,让大模型先帮用户改写问题,或者从多个角度拓展问题,或者用 high 的 方法让模型假设性的回答一遍,再用这个回答去解锁。因为答案的措辞往往跟知识库里的文档更接近。到这里,你是否已经开始感慨?而只要考虑的细节真的很多, 到拿到了解锁结果,是不是终于要完事大吉了?还没有。比如解锁回来了五条 trunk, 按相关性高低排进 prom 提示词的时候,最相关的应该放头还是放尾呢?研究发现,大模型存在中间遗忘现象,放在 prom 中间的内容最容易被忽略,所以最相关的内容要么放最前,要么放最后。 还有怎么管住模型,不要瞎编,我们会在 prom 里面加明确的指令约束,但管得太松,模型可能会瞎编。管得太严嘛,模型又只会复述原文,不会综合延伸,所以就非常考验力度,合适的一个安全护栏。 最后,为了让答案可溯源,还要加上引用标注,让用户点开就能看到答案的文档出处。现在回过头来看,最小闭环只有七个步骤,但每一步都能展开成一个独立的工程领域。这就是为什么 i h 是 一门门槛不高但上线极高的技术。 最后,我们聊聊 r a g 的 局限,它其实有三个明显的短板,一是片段盲区, reg 把文档切成 trunk 和 trunk 之间的关系就断了。问 a 公司和 b 公司有什么关系?如果两边信息分散在不同的片段里,传统 reg 很 难把它们串联起来。而推出 graphreg 就是 为了解决这个问题,用知识图谱把实体和关系显示表达出来。 二是全局理解的缺失。 reag 擅长找局部,不擅长看整体,比如让他总结一本书的概要几条, chang 是 还原不出来的,这种情况下长上下文模型反而更直接。三是工程的复杂度。如果要搭建一套完整工程的 reag, 对 于个人和小团队而言,也许有更好的解决方案。例如最近爆火的 kapi 的 wiki 知识库方案, 你可能在社交媒体会刷到例如 rek 已死之类的标题党。只能说 rek 存在它的局限性,但也正在从单一的解锁逐步演化成多策略协同的解锁增强体系,与其问 rek 死没死,不如问面对你的具体场景,哪种解锁增强的方式最合适?这一期我们的分享先到这里,下期我们继续记忆模块的分享。

这个叫 rap 的 外挂蛋 花都有锯割叉有凸凸 回答。哈哈,现在街上 rap 能回答专业问题。

大家好,今天想和大家聊一个我们每天都在用,却有可能被他欺骗的东西, ai 知识系统。你是否有过这样的经历?满心期待的向 ai 提问,得到的答案却驴唇不对马嘴,甚至一本正经的胡说八道, 这背后其实是 ai 知识处理方式的巨大差异。今天我将带大家揭开 ai 知识系统的神秘面纱,从我们熟悉的项链库一路探索到知识图谱,最终触及赋予 ai 真正智慧的灵魂本质论, 让我们一起踏上这场从断章取义到深度理解的进化之旅。本次分享将分为六个部分,首先我们会探讨当前主流的项链库技术及其局限性。 接着我们将引入知识图谱作为解决方案,并深入了解其核心原理。然后我们会通过医疗领域的经典案例分析知识图谱的实际应用与挑战。之后我们将展望知识图谱与大模型结合的未来。 最后,我们会揭示赋予知识图谱真正智慧的灵魂本质论,并对整个技术引进之路进行总结。我们先从一个很多人都听过的词 r a g 开始, r a g 解锁增强生成是当前大模型应用的主流技术之一,而提到 r a g, 几乎就必然会提到一个标配组建像量库。 在大模型发展的早期,由于模型的上下文窗口比较小,无法处理海量信息,像量库应运而生, 它就像是一个高效的知识库中找到最相关的信息片段。 左侧的流程图直观展示了 r a g 的 处理过程,从非结构化的文档转化为向量数据存入向量库,最后结合提示词进行剪缩与生成, 这一整套流程是构建企业级大模型应用不可或缺的基石。那么这个图书管理员是如何工作的呢?它的核心原理有两点,第一,通过一个叫做嵌入 embedding 的 过程,把我们的文本、图片甚至声音 转换成一串串数字,也就是向量。这些向量就像是内容在高维空间里的坐标。第二,当我们提出一个问题时,系统会把问题也转换成一个向量,然后去这个高维空间里寻找距离最近的几个向量。 距离越近,就意味着语义越相似,这带来了一个革命性的变化,我们似乎从过去死板的关键词查询进入了智能的语义查询时代。 然而,理想很丰满,现实却很骨感。在实际应用中,大家很快发现这个图书管理员有点不靠谱,经常会断章取义。问题就处在第一步,切分。 如果切分破坏了原文的逻辑,信息就丢失了。比如电商退款、注,手中系统可能漏掉黑名单用户除外的关键信息。在医疗场景下,错误的切分甚至可能导致严重的医疗事故。 这暴露了项链库的一个核心问题,他将知识压缩成了一个个孤立的点,而忽略了点与点之间的连接。既然项链库有这么大的问题,那有没有更好的解决方案呢?答案是肯定的, 那就是我们今天的主角知识图谱。如果说项链库是把知识变成了孤立的点,那么知识图谱就是把这些点用线连接起来,形成一张巨大的相互关联的网。 他不满足于找到与意相似的内容,而是致力于构建关系相关的确定网络。知识图谱主要由三个核心元素构成,实体、关系和属性。 实体就是图中的节点,可以是人、地点、物品、概念等。关系就是连接这些节点的边。描述实体之间的互动,属性则是描述实体或关系的特征。通过这种标准化的结构,知识图谱能够清晰地展示知识的内在联系, 让计算机不仅能看到信息,更能理解和推理这些信息之间的关系。为了让大家更直观的理解,我们来看一个例子, 左边是一个传统的没有关系的知识库,它像一个 excel 表格,各个信息是孤立的,你很难一眼看出它们之间的联系。 而右边是用知识图谱的方式来表达同样的内容。他清晰的展示了糖尿病会表现为哪些症状,会引发哪些并发症,以及可以用胰岛素来治疗。这种结构化的表达,信息密度和关联度都远远高于传统知识库, 让机器和人都能更容易的理解和推理复杂的知识网络。总结一下,知识图谱相比传统知识库和向量库有三大核心优势,首先是结构化, 他以图的形式直观展示知识间的复杂关系,打破信息孤岛。其次是可推理,能够基于已有的关系进行逻辑推理, 发现新的知识和潜在价值。最后是可扩展,当有新的知识出现时,可以很方便的添加新的实体和关系,适应动态复杂和未知的业务情况,无需改变整个底层结构。 理论说完了,我们来看一个非常经典的应用场景,医疗在大模型出现之前,最经典的图谱类产品叫做 c d s s, 也就是临床决策知识系统。 它的目标是辅助医生做出更准确的临床决策。像 ibm、 沃森就曾投入巨资研发,但最终却以失败告终。 回顾他的成败,能给我们很多启发。 c d s s。 的 核心原理是基于规则的推理,简单说就是如果则,这些规则构成了 c d s s。 的 知识库。但这里有个致命问题,知识库的完整性很难保证。 医学知识好如烟海,让专家手动录入并持续更新。这么庞大的知识库成本极高,而且一旦出错,后果不堪设想。这就陷入了一个不可能,三角 完整、准确更新,三者难以兼得。另一个致命问题是泛化能力不足。 c d s s。 的 入口很窄,它只能理解标准化的医学术语,但真实世界的患者描述是五花八门的。 比如患者说我胸口很沉, c d s s。 很 难将其自动推送到胸痛这个标准术语上。如果第一步的信息抽取就错了,那么后面所有的诊断建议都将是错误的。 这导致 c d s s。 在 实际应用中非常积累。那么 c d s s。 就 真的没用了吗?也未必。它的本质医学知识库是极具价值的,特别是在大模型时代,大模型强大的自然语言理解能力可以完美弥补 c d s s。 泛化能力不足的短板。 而 c d s s。 背后的医学知识,如果用知识图谱的形式来构建和管理,就能更好地与大模型结合,从而焕发新生。提到大模型,我们都惊叹于它的强大能力,但它也有一个致命弱点,幻觉,也就是一本正经的胡说八道。 在医疗这种高风险领域,幻觉是绝对不能容忍的,一个错误的诊断建议可能延误治疗,甚至危及生命。因此,如何解决大模型的幻觉问题,是当前 ai 应用的关键任务。 如何解决大模型的幻觉问题?答案就是将知识图谱和大模型结合起来。知识图谱提供一个结构化的、可追溯的、经过验证的知识底座,而大模型则负责理解用户的自然语言查询,并利用知识图谱进行推理和生成答案。 这样一来,大模型的快思考和知识图谱的慢思考相结合,就能大大提高答案的可信度。具体来说,知识图谱与大语言模型的结合,可以从这四个维度全面提升医疗决策的自信度。 第一是数据溯源。我们确保系统给出的每一个结论都能在权威的医学指南、高影响因子的文献或者真实的临床病例中找到对应的依据,拒绝无中生有的幻觉。第二是一致性,系统能够融合患者的主诉、实验室检查、影像报告等都 模态的信息进行综合推理,保证最终给出的诊断和治疗建议逻辑上是严密闭环的,结果是高度一致的。第三是动态性。医学知识是在不断更新迭代的, 我们的系统架构支持对知识库进行快速更新,能够迅速反映最新的医学研究成果和临床共识,不会停留在过时的知识上。第四是可解释推理链,这也是非常关键的一点,系统不仅给出最终答案,还会把背后的推理逻辑链条展示给医生, 让医生清楚地看到每一步判断是基于什么证据作出的,从而真正理解并信任 ai 给出的建议。 这是一个结合了知识图谱和 r a g。 的 多层次诊断体系架构。系统会先对问题进行判断,简单问题由基础 r a g 处理,复杂问题则交给图谱进行推理,最终的结果都会经过致性度验证,高致性度的直接输出, 低致性度的则提交专家复合,这样就形成了一个三层防御体系,确保了答案的可信和安全性。 聊到知识图谱,我们必须提到他的灵魂本体论 anthology。 如果说知识图谱是一张网,那么本体论就是这张网背后的宪法和游戏规则。他定义了这个领域的知识应该被如何描述和理解。 本体论的价值在于他先定义清楚极尽关键的是哪些东西可以成为节点,实体之间允许有哪些连接, 这些关系的强度和含义是什么,以及哪些关系可以传递,这些规则共同构成了知识图谱的行业智慧。文章里举了一个很好的例子,二甲双瓜,我们知道它可以治疗二型糖尿病,同时临床观察发现它可能导致体重下降。 如果没有本体内的约束,系统可能会粗暴的得出二甲双瓜可以减肥的结论,这显然是不准确且危险的。本体内通过定义不同关系的语义强度就能避免这种错误的推理。 所以说,本体内是让知识图谱具备行业 no 号的关键。好了,让我们来总结一下今天的核心内容,我们从夏凉库的局限性出发,看到了他将知识压缩为孤立点的脆弱性。 然后我们引入了知识图谱,它通过构建实体关系和属性的确定网络,实现了从更像到更相关与更可信的飞跃。 最后我们探讨了本体论,它作为知识图谱的灵魂,为整个系统注入了行业的智慧和规则。 文章最后也提到,真实的系统往往是多种技术的混合体,而未来的 ai 知识系统将不再是这些组建的简单堆砌, 而是内化为一种自主规划、多步推理、自我较量的 a 正能力。它将从解锁增强走向推理增强,让机器不仅能找到信息片段, 更能理解因果,最终交付给我们确信的答案。我的分享到此结束,希望能给大家带来一些启发,欢迎大家评论区提问交流。

r a g 要凉了,向量数据库鼻祖自己说的 panco 刚发布, nexus 在 向量数据库之上新增了知识引擎层 背后的信号。很明确, r a g 的 解锁模式根本跟不上 agent 的 需求。 r a g 是 给聊天机器人设计的,你问一句,他搜一堆,但 agent 不是 聊天,他要执行任务。每次绘画都从零开始找知识,百分之八十五的算力全浪费了。 nexus 的 做法是提前翻译知识,就像厨师把菜谱记在心里,不用每次翻书, agent 拿到的直接是结构化的知识成品。 效果有多猛?同一个金融分析任务,两百八十万 token 砍到四千,直接省了百分之九十八,速度还快了三十倍。 潘控创始人说,这就像 coco 统一了数据库查询,他们推出的 no q l 可能就是 agent 时代的标准语言。 r a g 没死,但它只是起点,编一期知识层才是 agent 的 基础设施。你觉得呢?评论区聊聊。

前些年打火的 r a g, 今年好像突然安静了。不是因为它没用了,更准确地说,是到了 agent, 场景里很多粗糙的 r a g 开始从补充知识变成污染上下文。 你可以把早期 r a g 想成开卷考试模型,不会的就去资料库里翻几页,再带着资料回答。 如果资料少,变化慢,问题也比较固定。这个方法非常好用。但现在的 agent 不 一样,它会连续规划,调用工具、写代码、跑测试,再根据结果继续行动。这时候解锁进来的每一段内容都不只是参考资料,它会变成下一步行动的依据。 第一个可派的问题是缩影滞后,真实代码已经改了,函数已经删了,文档也更新了, 但项链库里还扛着旧版本模型一解锁,拿到一个看起来很像答案的旧函数名。更麻烦的是,他会非常自信地用它。于是你以为 agent 在 帮你推进,其实他文润地把你拖回旧世界。 第二个问题是切片边界太硬, r a g 通常会把长文档切成一块一块,可真实信息不一定刚好按这个边界唱一个函数,说明可能前半段讲参数,后半段讲限制。切片一刀下去,模型只拿到半句话,它不是完全没信息,而是拿到一半信息。 这种错最难发现,因为他看起来很合理。第三个问题是相似度召回本身不懂逻辑关系,你问为什么这个接口报错?他可能把所有包含接口报错权限认证的片段都召回来, 这些片段语义相关,但逻辑上未必相关。对于问答,这可能只是啰嗦。但对于 agent, 这就是噪音。噪音一旦进上下文,后面的计划工具调用、代码修改都会被它带偏。所以, r a g 不 似销声匿迹了,它只是从一个万能答案退回成一个很具体的工程,组建 小规模、静态、边界清楚的场景, r a g 仍然够用。比如公司制度、问答、固定产品手册、知识库、客服。 但如果你让 a 真在一个快速变化的代码库里干活,就不能只问能不能召回相关内容。你要问的是,这些内容是不是最新,是不是完整,是不是跟当前任务真的有关系,能不能被工具验证? 现在更重要的不是把更多资料塞给模型,而是把上下文变干净,该剪辑时剪辑,该读原文件时读原文件,该调用真实工具时调用工具。 r a g 负责找线索, a 镇负责验证和行动。记住一句话,在 a 镇时代,线索不是越多越好,能被验证的上下文才是真的上下。

你是不是认为 red 很 复杂,它其实就三步,但百分之九十的人呢?第一步就理解错了,那我用最白话给你讲清楚, red 到底在干嘛?一句话,先记住 red 就 等于先找资料,再让 ai 回答。不是让 ai 凭空生成, 而是带着资料去生成。那第一步,准备资料,这是很多人忽略的,你不能直接把一堆的文档都给 ai。 为什么?因为大模型有上下文限制,它根本吃不下。所以要先做一件事,切片, 就是把一本书拆成一小段一小段,然后再做一步量化,就是把每一段的文字变成机器能理解的一串数字,最后存到一个地方,叫向量。数据库。 这整部呢,本质就一句话,就是把知识变成 ai 能够快速搜索的格式。第二步,核心能力就是找资料。当用户问问题的时候,不是直接让 ai 回答,而是先做一件事,就是把问题也变成向量,然后去数据库里找。哪些内容和这个问题最像 里的像呢?不是关键词匹配,而是与意上的相似的方法,你不用死记,知道逻辑就行,就是看方向与选相似度,看距离,欧式距离,或者是综合判断,点击,最后选出一批最相关的内容,比如十条。那第三步,筛选加回答。这一步是决定效果的关键, 很多人做到这一步就结束了,错了,那还要再做一步,叫重排序,用更强的模型把这十条再删一遍,选出最精准的三到五条。为什么?因为相关不等于最合适。那最后呢,再把这些内容加用户的问题一起喂给大模型,让它生成答案。所以你现在应该明白, red 不是 一个模型,它其实是一个流程,它做事很简单, 就是帮 ai 先找到正确的信息,再开口说话。最后呢,我这边整理了一份某个大厂要求 ai 产品经理必须掌握的文档,把整个 ai 产品的研发流程、大模型未来的发展方向,还有现在 ai 产品真正的问题全给你讲透了。如果你是准备转 ai 或者要面试这份东西,你可以去看一下。

项链库呢,有一个优势,就是你搜苹果,他能给你 iphone 语音解锁呢?确实呢,不错,但如果换一个复杂点的场景,他可能就开始翻车。那我们用到电商退款,助手接到用户问多久到账?那 r e g 系统呢?从文档只拽出主条款 t 加一,却把后面那句黑名单除外给漏了。 结果呢, ai 回答一律 t 加一,高风险订单呢,直接被退款,商家血亏。那放到医疗场景呢?更吓人。 那一份降压药临床指南,按段落切块后,试用期和妊娠期禁用,被分到两个不同的项链块,那医生问孕妇能用吗?系统呢,只找到 试用期回答可用,真要出了事,谁担得起?那问题呢,出在哪里?项链库的底层逻辑呢,是无脑切块,就是把长纹刀切成碎块再拼回去。那这种粗暴的操作,割裂了上下纹,打断了因果链。 早期模型,上下文窗口短,他呢,是救命稻草。但是现在的这种模型,能读几十万文字,反而成了累赘。因为语义相似不等于逻辑正确,搜个同义词没有问题,但涉及条件例外,因果关系,项链库呢,可能就会出问题。 真实系统从来不是单一的,组建香料库解锁图谱的查询规则、路由混合使用才是答案。未来的 ai 呢,从解锁增强走向推理增强,最终呢,交付确信答案。评论区聊一聊,说说你的看法。

昨天有个粉丝问为什么不见知识图谱? ok, 那 今天我来回答一下,大家别被那些所谓的 ai 专家忽悠了,天天喊着要见知识图谱。你问过你的 roi 吗?没搞清楚逻辑就开搞,那就是在烧公司的钱给自己挖坑。今天我拿企业风险穿透给你拆解清楚 那传统的文档切片,你问模型, a 公司和 c 公司有什么潜在的关联?模型只会搜片段,搜不到,他们直接签过合同,他就告诉你没关系。 但徒步不一样,他是降维打击,他能看到 a 公司的法人在 b 公司持股,而 b 公司的监视又是 c 公司的亲妹妹。隐性观点,这叫信息巨变,那在信息未给大模型之前,徒步就已经把碎掉的线索缝成了一张天网? 但是你也千万别迷信,链路越长越好。你有没有听过羽翼漂移?那你查风险,查到第五跳, a, a 公司的保洁,他老家二叔在开面馆,面馆的供应商欠了钱,你说这跟 a 公司有一毛钱关系吗?这种垃圾关联要是未给模型,只会产生严重的事实幻觉, cpu 都烧红了,算出来却都是废话,那怎么玩才高级? 记住我这两条铁律,第一,别搞顶层设计,强迫症。以前搞本体建模,实体关系呢,定的是死死的,光设计就得要半年。那现在的玩法是,实体要粗,关系要活。让大模型去提取原文的动词,保持多样化,别把图谱做成了死板的 excel。 那第二,锁死两三条,百分之九十的商业价值都在三条以内,超过了三条,逻辑就散了。遇到复杂问题怎么办?拆,把大问题拆成子问题,去查图谱。记住,图谱是用来穿透的,不是用来无限套娃的。说到底,图谱是重工业,它需要精准的人工审核,需要极高的运维门槛。 如果你连基本的 rack 都没调优好,那别上来就折腾图谱,百分之八十的场景靠高质量的切片和双路召回就能解决。只有那百分之二十需要跨文件局关联的硬核需求,值得你花百分之二百的精力去建图谱。 ai 时代拼的时,谁能让技术变现,而不是谁堆的名词多? 很多粉丝问我 ai 产品到底该怎么进阶,那我整理了一份某个大厂内部的 ai 产品经理必修文档,里面包含了 ai 产品研发全流程和大模型的未来发展方向以及学习路线图。想要的直接安排,我带你在这个赛道降维打击!

这是构建行业知识库的最有效的方法啊,也是我们经过两年的时间摸索出来的最短的路径,主要呢是分为四个步骤,那么第一步就是将知识原则化,比如说呢,你给他一本书,然后呢把它转变成一个一个的问答对的形式,每一个问答对呢专门负责解答一个问题。 第二步就是将这个问答对的问题进行一个泛化,比如说原本的问题呢,只有一个,但是呢咱们需要换不同的问法,给它扩展成好几个这种不同的问法,是因为咱们在解锁的时候是需要跟这个问题进行一个匹配的,如果你的问题的问法很多,那么匹配中的效率啊, 这个概率就会更高。好,第三步呢,就是将这个问答对的这个答案进行分层啊,原来的答案呢,可能说只有一段话,但是呢咱们需要给他分层这种方式啊去展示,比如说第一层呢就是核心的观点 机理的解释,然后给他举几个案例,对吧?应用的指导,也就是怎么做边界的延伸,什么情况下不适用。那么经过分层之后呢,就可以让 ai 回答的更有深度啊,让他更加明白这段话到底讲的是什么。第四步呢就是标签进行挂载, 打上标签之后呢,解锁到的这个效果,或者说概率啊就会更高,那么经过这四步,我们就可以打造真正行业级别的,呃,可用的这个知识库系统。 好,上面呢给大家展示的这个就是呃我们打过标签之后的一个效果,比如说这个呢,就是真正最后实现的一个效果,他这个表格的形式, 那么前面的就是问题,大家可以看到有非常多的这个问法,对吧?有好几个这个答案呢,给他分层啊,有这么多层, 后面呢有标签、应用的场景等等啊,最终呢我们可能是需要把一整本书或者说一批文件给它转变成像这样的表格的形式啊,有非常多的这种问答对的形式, 然后呢把我们的整个的知识库放到咱们的这个知识库系统里面,就可以让 ai 调用了。那么整个的过程咱们如何去搭建呢?比如说第一步应该去干什么呢?对吧?你可能说也不是很明白, 但是呢我们已经帮大家整理好了整个的搭建 ig 知识库的全 sop 的 一个流程,从第一步怎么去注册,怎么去创建,然后呢去开通知识库,然后怎么去解锁知识库, 还有下面呢怎么去找这个书籍?找到书籍之后怎么去拆分啊?怎么去转变成问答对所有的内容呢?全部在我们的这个呃,文档里面,你只需要看这一个文档就足够了,还是老规矩啊,有需要这个文档的,没有任何的套路,在视频下方呢说一下。

假如你二六年六月开始学大模型,按这个步骤让你稳步进阶三个月,从新手到大模型大师。第一阶段,打牢基础,掌握 python、 神经网络、 transformer 等相关核心知识。第二阶段,进阶学习着重 r a g agent 和 lanchen 这三个大模型最重要的模块。第三阶段,可以试着模型微调和私有化部署, 学完一定要练几个实战项目,可以彻底驾驭大模型,应对各种复杂任务。当你掌握相关技能后,无论是为工作赋能还是转行,都会有更好的发展。如果你还不知道怎么开始,这里整理了大模型学习路线以及配套视频教程等资源,一具大模型上手奉上。 随着我们企业对于 ray 构建的 ai 应用的需求,我们发现的传统的开发方式显然不能满足现在众多大模型和我们众多不同的 api 厂商之间的一个矛盾。 那么今天我们就就带你来进行一个 reg 实战,我们通过呢我们主流的开发框架,也就是 long chain 来带你构建一个 reg 系统,你会发现有了这套系统,你能快速地兼容各种 ai 公司的 api, 而且呢,让你 做出来的 ai 应用更加安全稳定好。首先呢,我们来先带大家呢回顾一下我们之前的这个 reg 知识,我们会给你讲解一下我们之前讲到的 reg 技术,它总共有哪些部分。 在讲完这部分之后呢,我们会带你介绍一下今天我们搭建这个 reg 系统,我们需要用到哪个模型。那么我们今天呢就带大家去看一下我们怎么样才能跟这个模型的 api 进行一个对接。 第三部分呢我们会看一下我们最近啊非常主流的框架,又是我们的 longchain, 它到底是如何进行代码编辑的?最后我们会带你去总结一下如何才能够建一个好的 reg 技术,它包含哪些部分? 那之前呢我们讲到我们说呢整个的 red, 它其实呢全称叫解锁增强生成,那它的本质呢,就是在我们的大模型它回答我们用户问题之前,我们先给它查找出一些相关的资料片段, 然后呢把用户的问题和资料片段一起交给他,让他呢根据我们给他打好的小抄进行回答,对吧?相当于给我们的大模型呢做了一次开卷考试, 这个时候呢我们就先来看一下我们整个 reik 系统,对吧?我们怎么样才能让它可以获取到我们这样一个一份知识手卡呢?首先我们就需要对我们企业已有的文档进行一个切分处理, 将我们企业中的文档进行格式的统一,进行一些数据清洗。完成之后呢,我们通过这个切分的步骤,将我们整篇文档 转化成我们的这个带文本片段,对吧?文本片段中呢就包含了一个小节的知识点,我们尽量呢在切分的过程中就把我们的这个语义完整性得到一个好的保留,之前我们也讲过,对吧?我们切分的核心目的就是保证我们每一个知识卡片上都有一个完整的知识, 那 ok, 然后呢我们就要通过嵌入模型这里呢,通过我们的嵌入模型把我们的文本片段给它转化成向量,然后和我们文本片段一起呢存储在我们的这个向量数据库中, 那这个时候呢就是我们的锁引阶段,好,那么我们锁引阶段完成之后呢,我们用户就可以进行提问了,对吧?提问之后呢,我们还是要使用到我们的嵌入模型,把用户的问题呢也转化成向量,这样呢才能去我们的向量数据库里进行查找,对吧? 那下面的步骤呢,就就是把我们找到的这个呃文本片段和用户提出的问题进行拼接嘛,最后呢给用户一个准确的答案,那好完成了我们整个 reg 流程的回顾,那么我们今天正式来进行我们的 reg 实战的搭建。好,我们来看一下 我们的总共呢需要使用到哪些模型。首先呢我们刚刚讲到啊,你会发现在这两个步骤,也就是把用户的问题转化成向量,和把我们的文本片段进行一个向量化处理的过程中,都需要使用到的是我们的嵌入模型, 那嵌入模型呢,我们可以看一下,这里呢我给大家看的是我们的这个千问模型,对吧?千问他这个公司推出的这样一个 文本嵌入模型,这里呢是这个千文三 embedded 零点六 b, 对 吧?那这样的模型呢就是我们可以选用的,那之前我们还讲过说,如果说从我们向量数据库中查询出来的这样一个文本片段非常多的话,比如说你的企业 有啊上万份的这样一个文本,对吧?然后查出来的文本片段可能高达一百条甚至两百条之多,这时候呢我们就要使用到我们的重排模型,那就是我们下面展示的这几款啊, text, re ranking, 这是我们的重拍模型,那今天呢,我们做一个简化的 rek 系统,我们就使用到我们的这个嵌入模型,那显然有嵌入模型还不够,对吧?我们既然要回答用户的问题,那一定就要使用到我们的大语言模型,可以看一下,我们今天使用的就是我们的这个千问三点五, 你可以看一下啊,在它的模型的文档介绍的过程中,它提到了四款模型,分别是千问 max、 千问 plus 和 coder, 对吧?那我们在实际选用的时候,无论是千问还是其他的模型,我们都是在使用什么?使用适合我们业务场景的一个模型,那这里呢,我们显然它就是需要我们进行一个标准的场景,那我就按照它的推荐进行选择,所以我们选择千问 plus, ok, 那 了解到我们要使用哪些模型之后呢?我们接下来就开始我们的这个项目的构建,那要构建这样一个项目,那首先呢,我们就选择一个合适的框架,那如我们框架呢是什么样的呢?对吧? 在使用框架之前呢,我们就带大家呢来介绍一下,我们今天用到的框架就是 launchchain, 对 吧?那看一下它的官网,它提到啊说 launchchain 是 一个开源的框架,然后呢内部已经帮助你预制好了,这个叫什么 agent, 也就是我们的智能体架构 和各种各样的模型或者是工具的集成,对吧?所以呢,你可以什么啊?快速的构建你的这个智能体,对吧?所以说今天用到的就是我们的 linc 框架了,那么用到框架之前呢,我们先需要把我们的大模型给配置好,那我们需要怎么办呢?看一下 这里呢,无论是你选择使用什么模型,你都需要来到它的官网这里呢,你可以通过登录账号之后,你可以申请到一个 a p i t, 那 这呢就是你身份验证的一个必需的组建了。 然后呢,我们可以看到啊,一般呢,你可以根据你的区域选择最好的这个 base u r l, 这就是你要访问的地址了,你每一次都是向这一台服务器进行请求,对吧? 所以说呢,为了让你整个 reg 系统,它的一个效果是好的,你最好呢根据啊你的地理位置进行选择,比如说目前我在中国,所以说呢,那我可能是会选择啊华北区域的这样一个 base url, 然后可以看一下,我给大家呢做了一下代码截图,你会发现实际上我们配置这个大模型的过程非常的简单,我们只需要按部就班的啊,把我们的相关的信息进行一个添入,我们就可以开始使用了,对吧?这个模型这里就添我们刚刚在前面页面看到的, 然后是我们的千万 plus, 那 至于我们的温度呢和我们的超时时间呢,我们推荐的参数是设计成零点七,这样呢,我们的模型它回答起来呢,既不非常死板,也不非常跳脱,对吧?最后我们的超时时间设置为三十,是一个比较合理的数值。 好,那准备完成模型之后,就带大家来看一下我们的 rek 系统,这里呢我来带大家呢看一下我们的代码, 那首先呢,我们来先来看一下我们刚刚配置模型的位置,这里呢我单独创建了一个文件叫 modus 点 p y, 那 这是一个 python 的 代码文件,我们把它呢放在我们 reg 的 文件夹下,对吧?那在这里呢,我们就进行我们的大模型的配置, 可以看到这里我们使用到了一个库叫 dot env, 那 是干什么用的呢?就是从我们电脑的环境变量中, 把我们刚刚配置的这样一个平台的 apikey 把它获取出来,对吧?因为我们实际上在业务中啊,我们是必须把我们这个 apikey 啊进行一个加密处理的,对吧?不能放在这个代码里,你说老师我直接粘贴在这里不可以用吗?实际上是可以用的, 但显然这就很容易泄露,不够安全,所以呢我们就把它配置在我们系统的环境变量中,通过呢我们的 os 点 get env, 也就是通过我们的 os, 就是 操作系统调用我们的 get env 方法 来获取到我们的 api key, 对 吧?那获取完成之后呢,这里我还用到了一个东西,叫 从我们的这个 pedantic 这样一个库中,我们拿到了一个什么呢?叫 secret 啊 store, 我 们拿到一个安全的字母串,那我们呢就是使用这个安全字母串,然后呢把我们的这个 key 给它传进去,对吧? 这样呢,我们就可以构建这样一个啊大模型的一个基础了,那为什么要使用 sec 啊 secret star 呢?那实际上是因为我们就需要让我们的 api key 在 整个运行过程中,它是一个保密的状态,对吧?被加密的不让我们其他的一个服务呢,随便的就获取到它。 ok, 那 了解了我们的模型之后,我们接下来呢就可以开始构建我们的这个 log 系统,可以看一下呢,我们都使用到了哪些东西,对吧? 先是呢,我们使用到 luncheon 这个框架肯定是没问题的,我们从 luncheon 的 这个 cruma 分 支中,我们导入了这个 cruma, 它是干什么的呢?它是一个向量数据库,还记得我们刚刚的图片吗?对吧?它在整个任务中,它就负责对我们的这个向量和文本进行一个存储。 那第二部分我们使用到什么呢?我们使用 document loaders 啊,那 document loader 那 实际上呢,就是用来啊加载我们的文档的, 然后既然加在文档了,我们还记得文档有了文档之后,我们要干什么?要做一个文档的分块处理。那这里呢,我们就使用到了它的这个 texas blighters 啊,这里呢使用到了叫什么地归字符分割,这显然是我们在 reig 之前的合集中,我们讲到过这个知识点,大家可以去回顾一下。 然后呢我们就需要什么?需要使用到我们的 dash scope bindings, 这就是我们的嵌入模型。嵌入模型呢,实际上是使用到我们的 dash scope 平台啊,它提供的一个嵌入模型,所以呢我们也把它导入进去。那剩下呢,就是使用到我们 launch 为我们提供的提示词和 runables 的 一个接口。 那接下来呢,我们先来看一下啊,先来看一下什么呢?我们的文档它长成什么样子?这里呢我们给大家准备了一份行业的文档,大家点开之后呢,就可以发现它实际上是对我们的建筑行业的一个呃,这样一个基础流程,对吧?招标流程进行一个描述, 然后呢这里呢也严谨的啊,分为不同的行业,什么制造业啊,对吧?这个应用方向啊, 然后可以看到我们这篇文档呢,是已经经过我们处理之后的,那大家可以想想,如果让你把这篇文档分成不同的文本片段,你会使用什么方法呢?那肯定大多数人他都能发现,就是使用到什么我们按照什么我们的段落换行进行分割,对吧? 好,看了一下我们的文档,我们回到我们的代码片段中,可以看到我们第一步要做的呢,就是使用到刚刚我们说的 doc doc to text loader, 对 吧?把我们的这个一个行业的一个呃,这个文文本档,对吧?给它加载进来,也就是我们的 word 文档,可以看到啊,在左侧我这个 datas 这个文件夹里,它确实有这么一份文档,我们自然就可以把它加载进来, 那加载完成之后呢,我们就给它做我们的文档切分,那文档切分我们就使用到我们的啊, recurser, 然后 characters textblender, 对 吧?使用我们的文档切分,然后这里呢我们把文档大小是 文本块的大小设置成三百,对吧?然后我们切分呢,是使用到我们的这个整个段落换行的一个分割服务,作为一个切分的。 好,那么我们完成切分之后呢,我们就可以进行向量化了,可以看到我们使用到刚刚介绍到的这样一个嵌入模型,这里我使用的就是 textinviding v 二的一个模型, 好,那使用到这个模型之后,我们就可以转化完,完成了,对吧?转化完成之后,这里我做了一个打印,让大家呢一会在运行的过程中可以看到我们的向量是什么样的, 完成之后我们就可以把我们的向量和我们的文本进行一个存储了,对吧?文本片段和我们的向量进行一个存储,那存到什么位置?就是我们的这个 crm 的 向量数据库。 完成之后我们接下来呢做了一个问题,我们说建筑行业,它的审标系统应用业务有哪几条?然后呢我们就让它呢交给我们的大模型, 这里呢我们就需要整理一下了,对吧?整理什么呢?首先我们要把用户的提问转换成向量,看见没?我们其实呢是使用到了,把我们用户的提问给它转换成向量,然后去到我们的这个向量数据库中进行查询, 那查询完成之后呢,找出了文档,接下来我们要做一个事情,就是把文档和我们用户的问题进行一个拼接看一下,我们这里呢就做了一个拼接,我们说呢啊,我们的文档是什么什么样的?然后呢我们用户的问题,对吧?这里就是一个拼接的模板了, 在这里呢我们会为大模型给他提供一个提示词,说你只能使用到啊,根据我的上下文来回答下面问题,然后我们把用户的问题放在这个位置, 然后把刚刚我们从向量数据库里查的查找到的文本片段放在这个上下文的位置,对吧?这就完成了我们说到的这样一个拼接的过程。最后呢我们就来看一下我们大模型能给我们生成一个什么样的答案吧,那我们接下来呢运行一下, 这里运行呢我使用到的包管理工具叫 u v, 它是一个非常著名的 python 包管理工具,大家也可以尝试一下。好,我们来运行一下,看一下它的结果是不是会符合我们的预期呢?好,现在呢已经进行了一个文本的切分, 可以看到啊,刚刚我们看到的这样一个文档,它已经加载进来之后,确实按照我们刚刚说的,按照它的一个大大章节的换行进行了一个切分。可以看到我们第一块就是刚刚我们演示的这个文本, 接下来呢,我们把这个文本通过我们刚才提到的 text binding 的 一个 v 二的一个模型进行一个项链化,可以看到啊,它其实项链维度非常高,我们只截取了五个维度进行展示, 那展示完成之后呢,我们就看用户的提问,那然后呢把用户的提问也进行一个向量化,注意啊,这是一个非常好的细节,你会发现其实用户他的问题啊,和我们刚刚说到文本片段他的向量维度是不是相同的,是吧? 然后呢我们就进行一个查询,那查询完成之后呢,我们来给大家看一下,我们找到了两个,对吧?两个文档,一个呢相似度是零点八一个,相似度是一点二九五一,那显然呢,这些是和我们整篇啊我们用户的问题是比较的相似的。 那好,完成这一步之后,可以看到刚刚我们介绍的拼接,看看一下啊,大家可以看一下,我们先啊以一个 human 啊,然后这里呢就放我们用户的问题,然后接下来上下文这个框里放的就是我们检测出来的文档, 那最后呢,我们就让大模型进行回答,那我们大模型最终给我们回答,是啊,建筑行业的应用标准有以下几条,那传统投标流程,然后标书审查啊,环节需要进行什么?什么什么,那是不是符合我们的预期,我们可以再回去看一下,是不是这样的,来我们看一下啊, 看一下我们原始的文档,一会发现啊,我们再往下看一下,嗯, 好,是吧?我们刚刚特意我看了一下,对吧?确实是啊,确实是和我们文档预想的是完全一致的。 那好,我们回到我们的 ppt, 再给大家做一下最后的总结,那可以看到我们其实构建这样一个 rack 系统,它的核心呢,其实就是我们把文本分块儿这个部分分好, 然后呢?那怎么分才算分好呢?一定要根据我们的业务场景,刚刚我也强调过了,我们一定要看一下我们企业的文档,它到底是个什么形态的,它适合怎样来做切分。那然后呢,我们就需要做一个良好的召回和重排, 那召回和重排呢?就是把我们这个文档从向量数据库中给它剪辑出来,对吧?那如果条数非常多的话,刚刚我们也介绍到了,可能要引入到我们的重排模型加一个工序 这里呢,我们的基础演示,因为我们文档确实很少,不需要重排,对吧?那我们就简单的召回,但实际上在我们的企业业务中,重排是一个非常重要的环节,那后续呢?我们也会给大家进行讲解, 那我们如何搜得到呢?那肯定是我们要把文本分块到我们的文本向量化这个流程给它做好。 怎么样才能答的准?很多的同学他会有一个误解,是不是我找出良好的这样一个文本片段就能答的准,就能让用户满意呢? 那实际上和我们的生产应用还差一个阶段,就是我们需要对我们大模型的回答问题的风格做出微调。那微调是一个什么东西呢?他就是能改变我们大模型回话的风格,让他更像一个人类客服,就比如说在电商客服场景, 它就可以让我们用户感觉到你服务的温度,而不是像我们平时问大模型问题,它使用的那种僵化的语言进行回答。那好,那么我们今天呢,对于我们的 reig 一个构建的一个流程介绍就到此为止了,那么我们下集再见。

震惊! ai 知识库开始读懂整份复杂文档!这个开源项目正在把企业 r a g。 重新做一遍,它叫 reg anything, 来自香港大学 h k u d s github, 已经冲到两万星。传统 reg 只能啃纯文本,但真实文档里有 pdf 表格、公式、图片和图标。 r a g anything 把它们拆成多模态内容, 再见知识图谱,最后用向量加图解锁,一起回答。 sospos 记录他近三十天涨了四千五百四十三星,连切夫宴都在页面上被标为关注者。这说明一个趋势, ai 知识库下一步不是更会搜文字,而是能真正读懂复杂文档!关注我,每天带你拆一个正在爆发的 ai 新趋势!