文章摘要
【关 键 词】 RAG系统、Agentic RAG、多跳推理、任务编排、智能应用
RAG(Retrieval-Augmented Generation)系统是一种结合了检索和生成技术的语言模型,旨在提高对用户提问的回答质量。在用户意图明确的情况下,朴素的RAG系统可以通过检索结果直接生成答案。
然而,面对用户意图不明确或需要多步推理的复杂问题,朴素RAG系统则显得力不从心。为了解决这一问题,Agentic RAG应运而生。
Agentic RAG是在RAG的基础上引入了Agent的动态编排机制,可以根据用户提问的不同意图,引入反馈和查询改写机制,并进行“多跳”式的知识推理,从而实现对复杂提问的回答。Agent与RAG关系紧密,两者互为基石。Agentic RAG与简单RAG的最大区别在于引入了Agent的动态编排机制。
Self-RAG和Adaptive RAG是两种典型的Agentic RAG。Self-RAG引入了反思机制,在检索结果与用户提问不相关时,会改写查询并重复RAG流程,直到相关度评分达到要求。实现Self-RAG需要一套基于图的任务编排系统和必要的算子。Adaptive RAG则根据不同的提问意图采用对应的策略,如开放域问答、多跳问答和自适应检索。Adaptive RAG的工作流程与Self-RAG类似,但增加了查询分类器,提供了更多种对话策略选择。
Agentic RAG系统的实现需要基于任务编排系统,该系统需要提供复用Pipeline或子图、与外部工具协同工作、规划查询任务等功能。任务编排系统基于图实现,图中的节点和边定义了应用的流程和逻辑。节点可以是可调用的算子或其他可运行组件,边定义了节点间的连接和数据流。图需要具备节点的状态管理功能,以实现反思机制。
Agentic RAG代表了信息处理方式的变革,为Agent本身引入了更多的智能。结合了工作流的Agentic RAG具有更广阔的应用场景,如文档摘要、客户服务支持、文献助手、法律和医疗助手、内容生成等。RAGFlow从v0.8.0开始原生支持基于图的任务编排系统,并支持无代码编辑,同时不断完善查询规划算子,以简化Agentic RAG及基于Agentic RAG的Agent应用的开发过程。
总之,Agentic RAG通过引入Agent的动态编排机制,实现了对复杂提问的回答,具有广泛的应用前景。随着技术的不断发展,Agentic RAG将在各个领域发挥越来越重要的作用。
原文和模型
【原文链接】 阅读原文 [ 1975字 | 8分钟 ]
【原文作者】 AIGC开放社区
【摘要模型】 moonshot-v1-32k
【摘要评分】 ★★★★☆