内容提要
RAG(基于检索增强的内容生成)在LLM(语言模型)中的应用,通过搜索内部信息提供与用户提问相关的内容,帮助LLM生成答案。RAG 2.0可能会以搜索为中心的端到端系统,包括信息抽取、文档预处理、构建索引和检索等阶段。RAG 2.0需要更全面和强大的数据库来提供更多的召回手段,并且需要在整个RAG的链路上进行优化。作者介绍了他们开发的RAGFlow平台,用于解决LLM搜索系统的问题。
延伸解读
RAG 1.0 的局限:为何简单语义搜索不够用
文章指出,RAG 1.0 以 LLMOps 工具编排为主,重生态而轻效果。其核心是向量相似度搜索,但存在明显短板:Embedding 无法区分实体、关系等关键 Token,导致召回精度不高;无法精确检索,例如查询特定时间段的财务计划可能返回其他时段或类型的数据;对 Embedding 模型和分块方式敏感;缺乏用户意图识别;难以处理多跳问答。这些局限使得 RAG 1.0 在企业级场景中往往无计可施。
混合搜索:RAG 2.0 提升召回精度的关键
为解决召回精度问题,RAG 2.0 需要更强大的数据库,支持多种搜索方式混合。除了向量搜索,还应包含关键词全文搜索、稀疏向量搜索,乃至张量搜索。关键词全文搜索能实现精确查询,并提供可解释性;IBM 研究显示,联合关键词、稀疏向量和向量搜索三种召回方式可取得 SOTA 结果;张量搜索基于 ColBERT 的 Late Interaction 机制,兼顾接近 Cross Encoder 的精度和接近向量搜索的性能。OpenAI 收购 Rockset 也印证了原生混合搜索能力的价值。
端到端优化:RAG 2.0 不止于数据库
RAG 2.0 是以搜索为中心的端到端系统,涵盖信息抽取、文档预处理、构建索引和检索等阶段。数据库只解决检索和召回,还需在整个链路上优化:单独的数据抽取和清洗模块,处理复杂文档如表格和图文,确保高质量搜索;预处理步骤如知识图谱构建、文档聚类和垂直领域 Embedding 微调,为复杂提问提供更多依据;检索阶段分粗筛和精排,并需不断改写查询以识别用户意图。这些环节相互耦合,无法用统一 API 编排,因此需要平台化迭代,这正是 RAGFlow 的开发初衷。
Q&A
RAG是什么,它在LLM中的作用是什么?
RAG(基于检索增强的内容生成)通过搜索内部信息帮助LLM生成与用户提问相关的内容,从而提高答案生成的准确性。
RAG 2.0与RAG 1.0有什么主要区别?
RAG 2.0是以搜索为中心的端到端系统,包含信息抽取、文档预处理、构建索引和检索等阶段,而RAG 1.0则主要依赖于重编排,效果较差。
RAG 2.0需要什么样的数据库支持?
RAG 2.0需要一个更全面和强大的数据库,支持多种搜索方式的混合使用,包括关键词全文搜索、稀疏向量搜索和张量搜索,以提高召回精度。
RAGFlow平台的主要功能是什么?
RAGFlow平台旨在根本性地解决LLM搜索系统的问题,提供一个完整的RAG链路优化方案,支持数据抽取、文档预处理和检索等功能。
RAG 2.0如何处理用户意图识别?
RAG 2.0通过查询重写和多跳问答机制来识别用户意图,以便更准确地检索相关答案。
RAG 2.0的检索阶段是如何分为粗筛和精排的?
RAG 2.0的检索阶段分为粗筛和精排,粗筛用于初步筛选相关文档,精排则使用不同的重排序模型来优化最终结果。