随着 2024 年即将结束,检索增强生成 (RAG) 的发展可谓波澜壮阔。让我们从多个角度全面回顾这一年的进展。
深度解析 RAGFlow v0.15.0
RAGFlow 在 2024 年的最终版本 v0.15.0 已正式发布,带来了以下重要更新
Agent 改进
该版本对 Agent 进行了多项增强,包括新增 API、步骤运行调试以及导入/导出功能。自 v0.13.0 起,RAGFlow 的 Agent 已经过重构以提升可用性。步骤运行调试功能完善了这一过程,允许 Agent 工作流中的操作符单独执行,从而帮助用户根据输出信息进行调试。
除了混合搜索,RAG 还需要哪些基础设施能力?
Infinity 是一个专门为检索增强生成 (RAG) 设计的数据库,在功能和性能上表现出色。它为密集和稀疏向量搜索以及全文搜索提供了高性能能力,并为这些数据类型提供了高效的范围过滤功能。此外,它还具备基于张量的重排序能力,使得实现强大的多模态 RAG 并集成可与 Cross Encoders 相媲美的排序功能成为可能。
使用 RAGFlow 实现 Text2SQL
RAGFlow 应社区需求引入了 Text2SQL 功能。传统的 Text2SQL 需要模型微调,这在与 RAG 或 Agent 组件一起用于企业环境时会显著增加部署和维护成本。RAGFlow 基于 RAG 的 Text2SQL 利用现有的(已连接的)大型语言模型 (LLM),无需额外的微调模型即可与其他 RAG/Agent 组件无缝集成。
我们的 GraphRAG 如何揭示琼恩·雪诺和龙母的隐藏关系
RAGFlow v0.9 版本引入了对 GraphRAG 的支持,GraphRAG 最近由微软开源,据称是下一代检索增强生成 (RAG)。在 RAGFlow 框架内,我们对 RAG 2.0 有一个更全面的定义。这个提议的端到端系统以搜索为中心,包含四个阶段。最后两个阶段——索引和检索——主要需要一个专用的数据库,而前两个阶段定义如下
从 RAG 1.0 到 RAG 2.0,一切皆是轮回
搜索技术仍然是计算机科学中的主要挑战之一,鲜有商业产品能够有效搜索。在大型语言模型 (LLMs) 兴起之前,强大的搜索能力并不被认为是必需的,因为它并不直接贡献用户体验。然而,随着 LLMs 开始普及,需要一个强大的内置检索系统来将 LLMs 应用于企业环境。这也被称为检索增强生成 (RAG)——在将其输入 LLM 进行最终答案生成之前,搜索内部知识库以查找与用户查询最相关的内容。
RAGFlow 进入 Agentic 时代
自 v0.8 版本起,RAGFlow 正式进入 Agentic 时代,在后端提供了全面的基于图的任务编排框架,并在前端提供了无代码工作流编辑器。为什么是 Agentic?这个功能与现有工作流编排系统有何不同?
Agentic RAG - 定义与低代码实现
一个朴素 RAG 系统的流程可以概括如下:RAG 系统使用用户查询从指定数据源进行检索,对检索结果进行重排序,附加提示词,然后将它们发送给 LLM 进行最终答案生成。
在用户意图明确、答案包含在检索结果中并可以直接发送给 LLM 的场景下,朴素 RAG 就足够了。然而,在大多数情况下,用户意图模糊是常态,需要迭代查询来生成最终答案。例如,涉及总结多个文档的问题需要多步骤推理。这些场景都需要 Agentic RAG,它在问答过程中涉及任务编排机制。
Agent 和 RAG 相辅相成。Agentic RAG,顾名思义,是一种基于 Agent 的 RAG。Agentic RAG 和朴素 RAG 的主要区别在于 Agentic RAG 引入了动态的 Agent 编排机制,该机制能够评估检索结果,根据每个用户查询的意图重写查询,并采用“多跳”推理来处理复杂的问答任务。
基于 RAPTOR 实现长上下文 RAG
RAGFlow v0.6.0 版本本周发布,解决了自今年四月开源以来出现的许多易用性和稳定性问题。RAGFlow 的未来版本将专注于解决 RAG 能力的深层问题。不得不说,市场上现有的 RAG 解决方案仍处于 POC(概念验证)阶段,无法直接应用于实际生产场景。