摘要:
本文探讨了图增强检索增强生成 (Graph RAG) 技术,指出其易于入门但难以完善,并以 Glean 公司的成功案例为例,阐述了 Graph RAG 的巨大潜力和实现过程中面临的挑战,同时提供了简化 Graph RAG 实施的建议。
Graph检索增强生成 (RAG) 很容易开始,但很难完善。了解如何从研发转向生产并最大化成功。
关键要点:
* Graph RAG 具有强大的潜力,可以为企业带来显著价值,但将其从概念验证阶段推进到生产阶段却非常困难。
* Glean 公司的成功案例证明了 Graph RAG 的价值,其平台通过连接内部数据并提供 AI 接口,实现了显著的成本节约和效率提升。
* 使用 LangChain 和 Langflow 等工具可以轻松入门 Graph RAG。
* Graph RAG 的核心挑战在于从各种知识库中聚合信息,而传统的矢量搜索方法难以应对复杂的查询。
* 建立有效的 Graph RAG 系统的关键在于准确捕捉和利用数据之间的非语义关系,并使图连接补充而不是取代矢量搜索。
* 将 Graph RAG 推向生产面临诸多挑战,例如 Graph RAG 效果不佳、幻觉问题、图数据规模问题以及部署和扩展问题。
* 高质量的数据和知识图谱对于 Graph RAG 的成功至关重要。
来源:
Graph RAG: How To Squeeze More Value From AI – The New Stack
https://thenewstack.io/graph-rag-how-to-squeeze-more-value-from-ai/
正文:
如今,似乎每个人都在做检索增强生成 (RAG),越来越多的人正在添加知识图谱来制作GraphRAG。但是他们中的许多人陷入了研发阶段,努力(至少有一点点)将他们的概念验证投入生产。
与大多数 AI 技术一样,Graph RAG 也受到一些难以避免的规则的约束:
-
强大的潜力:Graph RAG 可以增加显著的企业价值。
-
易于开始:实现简单的图形 RAG 非常简单。
-
难以完美:将GraphRAG 从概念验证引入生产环境非常困难。
使用 Graph RAG 取得成功的一家企业是 Glean,这是一个连接组织内部数据并通过人工智能 (AI) 界面和代理使其全部可搜索和交互的平台。Glean 刚刚在最新一轮融资中获得了超过 2.6 亿美元的融资,这是基于其核心平台的实力、受欢迎程度和创收能力——该平台的基础是 graph RAG。
Glean 实施了一个基于 Graph RAG 的平台,该平台可以增加价值、降低成本并简化内部流程,从而更容易使用最新工具开始使用 Graph RAG。即便如此,特定的图形RAG挑战可能会使从研发转向生产变得困难,但有一些方法可以最大化你成功的机会。
在正确的时间连接正确的信息是 $$$$
需要注意的是,Glean 是其自己产品的高级用户。如果您想知道这家成立五年的公司拥有一长串知名客户(包括 Pinterest、Reddit 和 Instacart)的成功秘诀,那么这种规模的运营良好的组织通常会简化其作为一个组织的运作方式。Glean 在 Glean 上运行 — 并且其客户非常满意 — 这一事实必须成为支持其产品及其增加企业价值的潜力的最有力论据之一。
Glean 的一位客户是“世界上最大的拼车公司之一”,该公司在尝试构建未达到预期的内部解决方案后转向 Glean。在一个月内,该公司在 Glean 平台上的使用量就比其内部解决方案翻了一番。
DataStax 热爱 Glean,无论是从现在成为客户的角度,还是从最近作为集成 Langflow 和 Glean 的合作伙伴的角度来看。但这里的重点是,Glean 的故事不仅是一个完美的例子,它不仅说明了 RAG 的强大和价值,而且还说明了正确地获得 RAG 是多么具有挑战性,即使对于一些科技界的知名人士也是如此。
这家大型拼车公司表示,改用 Glean 后,平均每位员工每周可节省 2 到 3 小时,每年可节省超过 2 亿美元——所有这些都来自员工“更快地查找信息”,Glean 首席营销官 Matt Kixmoeller 告诉 VentureBeat。时间就是金钱,节省大量时间就是节省大量金钱 – 但前提是工作做得好。
接下来,我将讨论平庸的图形 RAG 和出色的图形 RAG 之间的一些细微差别,但首先让我们谈谈入门是多么容易。
Graph RAG 入门非常简单
那么,如果一家大型拼车公司无法有效地构建自己的平台,那我为什么会说自己实现 graph RAG 很容易呢?
首先,支持 RAG 和图形 RAG 的技术在过去一年中取得了长足的进步。12 个月前,大多数企业甚至没有听说过检索增强一代。现在,不仅 RAG 支持是最好的 AI 构建工具(如 LangChain)的关键功能,而且现在还有 Langflow,这是一个基于 LangChain 的 RAG 的可视化 IDE,它允许您设置一个 RAG 系统,几乎不需要代码。
一些入门资源
正如我们的检索增强生成指南所解释的那样,关于 RAG 有很多东西需要学习,但您不需要了解所有这些即可开始使用。使用 Langflow 和 DataStax Astra DB 启动并运行 RAG 应用程序(免费)只需几分钟。
Graph RAG 是 RAG 策略的较新变体,因此软件工具通常与普通 RAG 一样成熟。但是仍然有一些简单的方法可以开始。
通往工作GraphRAG 应用程序的最快路径之一是 GraphVectorStore,它最近被添加到 LangChain 中,尤其是在您已经在使用 LangChain 的情况下。它实质上是将图形功能添加到典型的 vector store 中。有了它,您可以使用(可能)已经在文档数据集中的链接轻松地将 RAG 转换为图形 RAG。
https://thenewstack.io/boost-llm-results-when-to-use-knowledge-graph-rag/
许多刚接触GraphRAG 的人认为,与普通 RAG 相比,复杂性有了很大的进步,或者他们需要一个专门的图形数据库。但是您不需要图形数据库来执行图形操作,包括 Graph RAG。
即使缩放GraphRAG 系统也可以很简单,正如文章“通过消除边缘缩放知识图谱”所解释的那样。
AI 领域的几乎每个主要参与者都提供了理解和开始使用 RAG 的资源(甚至还有 Coursera 课程)。
https://thenewstack.io/scaling-knowledge-graphs-by-eliminating-edges/
有了所有可用的工具和教程,开始使用 GraphRAG 是简单的部分……
但是将 Graph RAG 投入生产环境并非易事
Graph RAG 似乎很有希望增强检索增强生成 (RAG) 系统,尤其是当传统的向量搜索无法处理涉及不同上下文和格式的多个文档的复杂查询时。然而,将图形 RAG 投入生产带来了独特的挑战。
了解 Graph RAG 的作用
通常,RAG 系统在简单的场景中表现出色,但当答案需要跨不同知识库聚合信息时,则表现不佳。这通常会导致系统丢失关键文档 — 不是因为故障,而是因为这些文档与用户的查询缺乏足够的语义相似性。
例如,如果必要的信息嵌入在密集、详细的内容中,或者如果文档仅涵盖语义上松散相关的一系列主题,则 RAG 系统可能会忽略相关文档。在处理需要一般信息和特定信息的语义搜索查询时,这可能尤其成问题。
解决检索差距
RAG 旨在解决的核心问题图是普通检索增强生成系统的局限性,该系统仅依赖于语义接近性,因此无法检索语义上不太明显但相关的信息。修改向量搜索以增强检索通常涉及对嵌入的复杂调整,这不仅在技术上要求很高,而且成本高昂,并且对于用户查询的特定细微差别可能无效。
集成知识图谱提供了一种更有针对性的方法,而不是改进语义模型以强制拟合(可能会导致更多问题)。知识图谱支持语义模型遗漏的相关概念的联系。例如,通过知识图谱链接地理或上下文相关的术语(如 “Space Needle” 和 “Lower Queen Anne neighborhood”) 比尝试调整嵌入向量以获得相同的结果更直接、更可靠。
构建有效的 Graph RAG 系统
成功实现GraphRAG 的关键在于准确捕获和利用数据之间的非语义关系。通过使用基于图形的结构化数据来增强语义搜索,我们可以增强文档检索以更好地响应复杂的查询。
总结一下我们试图用 graph RAG 解决的问题:有半结构化、非语义信息连接了非结构化文档中出现的许多概念。我们希望使用此连接信息来补充语义向量搜索,以便检索最适合回答用例中的提示和问题的文档。我们只是想让检索变得更好,我们想使用一些外部信息或外部逻辑来实现这一目标,而不是仅仅依靠语义向量搜索来连接提示和文档。
集成 Graph 和 RAG 的指导原则
在构建和测试GraphRAG 应用程序时要牢记的一些指导原则是:
-
该图应包含高质量、有意义的概念和联系。
-
概念和连接应与使用案例集中的提示相关。
-
图形连接应该是对向量搜索的补充,而不是替换。
-
应优先考虑一步和两步图形连接的有用性;依赖三个以上的步骤来建立连接应仅用于特殊使用案例。
遵循这些原则旨在共同提高可解释性,防止过度复杂,并最大限度地提高构建和使用Graph图形 RAG 系统的效率。
将 Graph RAG 投入生产的挑战
大多数开发人员都明白,构建像 graph RAG 这样的系统存在很多不确定性。在数据准备和加载期间、构建知识图谱期间、查询和遍历图形期间、结果编译和提示构建期间,以及工作流中的几乎任何其他点,都可能发生意外情况。虽然最初实现图形 RAG 并不困难,但以下是进一步构建和测试GraphRAG 应用程序的一些后续挑战:
-
Graph RAG 并不比普通 RAG 好多少:这是一个非常常见的症状,有很多可能的原因。一种可能是向量搜索在不使用图谱检索增强生成的情况下找到正确的文档。
-
您(仍然)看到幻觉:这通常不是由图谱引起的,即使禁用 RAG 的图谱方面,也无法生成相关响应。
-
图谱太大:过多的边缘或节点可能会导致图形遍历期间的扩展和连接质量问题。
-
图谱太小:边缘或节点数量较少会导致建立的有意义的图形连接数量较少。
-
您的实施需要增加部署复杂性:困难的部署始终是一个挑战,尤其是当它们涉及新的专用软件工具时。
-
您的实施无法扩展:这篇关于扩展知识图谱的文章讨论了这一挑战并给出了可能的解决方案。https://thenewstack.io/scaling-knowledge-graphs-by-eliminating-edges/
这份潜在问题列表并不全面,但它代表了我们一直在关注的一些潜在问题。为了解决这些问题,我们开始构建工具,以简化使用 Langflow API 从实验到生产的转变。希望它可以帮助解决其中一些问题。
简化 Graph RAG 成功
Glean 的工程经理 Arjun Landes 在 VentureBeat 中指出:“我们能够构建如此复杂的知识图谱并将其与 LLM [大型语言模型] 相结合,这一事实是真正的强大之处。我不知道他们系统的细节,但我同意力量在于组合的想法,Glean 似乎做得很好。
需要注意的是,Glean 的内部文档数据集是GraphRAG 的理想用例。它有效地连接了人员、项目和产品等内部元素——与维基百科上的大量数据相比,由于组织数据的范围有限,因此易于管理。这种关注可能使 Glean 的挑战更容易处理,从而为 Glean 的成功做出了重大贡献。
拥有正确的数据是关键
即使使用理想的用例,知识图谱的质量也是关键;它必须在正确的时间连接正确的元素,而不会让不相关的数据压垮系统。过于密集的图形可能会给系统带来负担,迫使它筛选过多的信息,而稀疏但高质量的图形仍然可能通过关注基本连接来超越传统的 RAG 系统。
Glean 还擅长跨各种平台集成不同的知识库,这一壮举更多地是可靠的数据工程,而不是 AI 实力。生成式 AI (GenAI) 和大型语言模型 (LLM) 的出现使不同数据类型的集成变得更加容易,使 Glean 能够将不同的数据源整合到一个有凝聚力的 RAG 系统中。
Glean 的用户界面也很突出,它提供了一种无缝的体验,掩盖了集成技术的复杂性。这种以用户为中心的设计使其系统不仅有效而且易于访问,从而增强了整体用户体验。
展望未来
GraphRAG 系统的进步标志着 AI 模型在处理和链接复杂数据方面的应用向更复杂的转变。这种演变有望提高效率,并有可能彻底改变各个行业的知识管理。
随着我们向前发展,今天制定的原则有望为不久的将来的开创性应用铺平道路,这可能预示着一些人所说的“智能时代”的新时代。
参考文献