被动式RAG和主动式RAG——主动式RAG才更符合人类的思维习惯
“ 主动式RAG就是一个会使用搜索引擎的人,它会根据需要使用搜索引擎。”【AI大模型教程】
关于RAG事实上分为两种架构,一种是传统的被动式RAG,另一种是主动式RAG;作者在上一篇文章中说过RAG并不是一项具体的技术,而是一种方法论。
因此,所谓的被动式RAG是基于传统的检索召回,增强生成的流程;而主动式RAG是把RAG技术与智能体技术相结合的一种主动式架构——其主动主要体现在智能体能够自行规划和使用工具来回答问题,而不需要每次都去召回,然后再进行回答。
主动式RAG
传统的被动式RAG存在很多缺点,比如说太傻叉了,每次都要先去知识库中进行文档召回,哪怕你只是简单的说一句你好;当然,也可以通过增加一个前端路由的方式来避免这个问题,但在复杂问题下就不太行了;因此总体来说,被动式RAG存在很多问题。
但结合了智能体技术的主动式RAG相比就存在很多优点,而且其更符合人类的思维习惯。
主动式RAG的工作流程是什么样的?
主动式RAG的本质还是一个智能体,只不过给它配置的是召回工具,也就是特定应用场景下的智能体。
智能体的运作逻辑是什么?为什么说智能体更符合人类的思维模式?
智能体 = 大模型+工具+ (用户问题 + 记忆 + 上下文管理),其中主要还是大模型和工具扮演着重要角色。
在智能体中,大模型就是一个人,然后给它配备了能够解决问题的工具;比如说,给你一台电脑,让你做一份PPT,其中你就是大模型,电脑就是工具。
具体这个PPT怎么做,有哪些内容是由你(大模型)决定的,而做PPT必须使用电脑才可以。
在RAG中也是如此,用户提出问题,然后交给大模型,然后大模型根据自己的经验判断是否能够回答问题,如果回答不了是否有工具能够使用,之后再回答用户问题。
这个流程是不是很符合我们人类的思维模式,应该说和人类的思维模式一模一样。
假如说你是一个计算机领域的工作人员,有人问你计算机相关的问题,我想大部分问题你应该都不需要看书或查资料就能够回答;只有遇到那些比较复杂或者你拿不准的问题时才需要查阅资料,比如说计算机类的书籍,搜索引擎等。
但传统的被动式RAG是怎么做的?
不管用户问什么问题,先去资料库里查一遍,然后再来回答用户问题;但我们知道很多简单的问题,其实没必要去查资料,这样虽然从理论上能提升准确率,但会严重影响效率。
总之就是被动式RAG的执行逻辑太傻了,就像开卷考试一样,问你1+1等于几,你还要去翻一下书,这不是浪费时间嘛。
而基于主动式的RAG,我能够自己回答的问题就自己回答,不能自己回答的问题再去使用工具做检索;并且,由于记忆的存在,如果是用户重复问的问题,还可以自己根据记忆进行回答,这样可以大大提升响应速度,提升用户体验。