RAG的未来:从RAG 1.0到RAG 2.0的演进RAG(基于检索增强的内容生成)自出现以来,迅速在业界流行,这得益于LLM(大型语言模型)的爆炸性增长。LLM需要内置一个强大的检索系统,以提供与用户提问最相关的内容,帮助LLM做最终的答案生成。随着RAGFlow开源Star量破万,是时候深入思考RAG的未来发展方向了。RAG 1.0的现状与局限RAG 1.0主要基于语义相似度的方法进行工作,通过将数据分块,使用Embedding模型将每个块转成向量并保存到向量数据库中。在检索过程中,将提问也转成向量,通过向量数据库检索到最接近的数据块。然而,RAG 1.0存在若干局限:Embedding的有效信息密度有限:由于是针对整块文本的处理,无法区分特定实体、关系、事件等权重需要提高的Token,导致召回精度不高。无法实现精确检索:例如,对于特定时间段的财务计划查询,可能返回其他时间段或类型的数据。对Embedding模型敏感:通用领域的Embedding模型在垂直场景可能表现不佳。对数据分块敏感:输入数据的解析、分块和转换方式不同,搜索返回结果也会大不同。缺乏用户意图识别:无法针对意图不明的提问找到答案。无法回答复杂提问:如多跳问答,需要从多个来源收集信息并进行多步推理。RAG 2.0的展望为了克服RAG 1.0的局限,未来的RAG 2.0可能呈现以下特点:以搜索为中心的端到端系统RAG 2.0将整个RAG按照搜索的典型流程划分为若干阶段,包括数据的信息抽取、文档预处理、构建索引以及检索。它是一个典型的AI Infra,区别于以现代数据栈为代表的Data Infra,无法用LLMOps工具来编排,因为各环节之间相互耦合,接口未统一。更全面和强大的数据库为解决RAG 1.0中召回精度不高的痛点,RAG 2.0需要采用多种方法混合搜索,包括向量搜索、关键词全文搜索、稀疏向量搜索,以及支持Late Interaction机制的张量搜索。关键词全文搜索是实现精确查询必不可少的手段,对于排序的可解释性也非常重要。IBM研究院的研究显示,联合多种召回方式取得了SOTA结果,因此有理由在数据库中原生支持这种混合搜索能力。张量搜索是一种新的检索方式,能够捕捉查询和文档之间的复杂交互关系,提供更精准的搜索排序结果,同时性能较好。针对各环节进行优化需要有单独的数据抽取和清洗模块,针对用户的数据进行切分,考虑到用户的各种不同格式,包含复杂文档如表格处理和图文等。抽取出的数据在送到数据库索引之前,可能还需要若干预处理步骤,包括知识图谱构建、文档聚类,以及针对垂直领域的Embedding模型微调等。检索阶段分为粗筛和精排,精排通常放在数据库外进行,需要不同的重排序模型。同时,还需要对用户的查询不断改写,根据模型识别出的用户意图不断改写查询,直至找到满意的答案。RAGFlow的开源与未来RAGFlow是一个从根本上解决LLM搜索系统问题的平台,它没有采用已有的RAG 1.0组件,而是从整个链路出发进行设计。当前,RAGFlow仍处于初级阶段,系统的每个环节都在不断进化中。由于使用了正确的方式解决正确的问题,自开源以来,RAGFlow迅速获得了广泛的关注和认可。未来,随着RAG 2.0的不断发展和完善,它将对LLM在企业中的应用产生巨大影响。我们期待RAG 2.0能够成为推动产品发展的强大动力,并欢迎更多对RAG感兴趣的人士关注和了解我们的工作。以上内容仅供参考,如需了解更多关于RAG和RAGFlow的信息,请访问相关开源社区或查阅相关技术文档。



































