链载Ai

标题: [重磅]图数据库厂商Neo4j CTO详解GraphRAG:为生成式人工智能增添知识 [打印本页]

作者: 链载Ai    时间: 12 小时前
标题: [重磅]图数据库厂商Neo4j CTO详解GraphRAG:为生成式人工智能增添知识

我们正在进入RAG的“Blue Link”时代

我们正处于意识到这样一个阶段:为了真正有效地利用GenAI,你不能仅仅依赖自回归LLM来做出决策。我知道你在想什么:"RAG就是答案"。或者微调,或者GPT-5。

是的。像基于向量的RAG和微调这样的技术可以帮助。它们在某些用例中足够好。但是在另一整类用例中,这些技术都会遇到瓶颈。基于向量的RAG - 就像微调一样 - 增加了对许多种类问题的正确答案的概率。然而,这两种技术都没有提供正确答案的确定性。它们经常也缺乏上下文、色彩以及与你所知实际的联系。此外,这些工具不会留给你很多关于它们为什么做出特定决策的线索。

2012年,谷歌通过一篇标志性博文-"介绍知识图谱:事物,而非字符串",推出了他们的第二代搜索引擎。他们发现,如果你使用一个知识图谱来组织这些网页中表示的事物,同时进行所有字符串处理,那么能够实现跨越性能的巨大飞跃。今天我们看到在GenAI中出现了相同的模式。许多GenAI项目正在遇到一个瓶颈,在这里,结果的质量受限于所使用的解决方案处理的是字符串而不是事物。

快进到今天,AI工程师和前沿学术研究人员正在发现与谷歌相同的事实:突破这个瓶颈的秘诀就是知识图谱。换句话说,将关于事物的知识引入到基于统计的文本技术中。这与任何其他类型的RAG类似,只是在向量索引之外还调用了一个知识图谱。也就是说,GraphRAG!

这篇文章旨在对GraphRAG进行全面且易于阅读的处理。事实证明,构建数据的知识图谱并在RAG中使用它会给您带来几个强大的优势。有大量研究结果表明,这将为您提供更好的答案,针对大多数,如果不是所有您可能向LLM提出的问题,使用常规的仅基于向量的RAG。

仅此一点就足以推动GraphRAG的采用。除此之外,由于在构建应用程序时数据是可见的,因此您可以更轻松地开发。第三个主要优势是图可以被人类和机器轻松理解和推理。因此,使用GraphRAG构建将更容易,为您带来更好的结果,并且还具有可解释和可审计性 - 在许多行业中这是一个强有力的优势!我相信GraphRAG将取代仅基于向量的RAG,并成为大多数用例的默认RAG架构。这篇文章解释了其中的原因。

等等, 图谱?

让我们明确一点,当我们说图谱时,我们指的是像这样的东西:

尽管这幅图被广泛用来示范知识图谱,但其原始来源和作者仍未知

或者这个:

权力的图谱可视化,由威廉·里昂制作。或者这样:

伦敦地铁图(来源:伦敦交通局)。有趣的事实,伦敦交通局最近部署了一种基于图的数字孪生体,以改善事件响应并减少拥挤。

换句话说,不是一张图谱。


如果你理解上面的图,你就可以看到如何在 RAG 管道的一部分中查询底层知识图谱数据(存储在图形数据库中)。这就是 GraphRAG 的目的。

两种知识表示类型:向量 & 图谱

典型 RAG 的核心——向量搜索——接收一小段文本,并从候选书面材料中返回概念上相似的文本。这是令人愉快的自动化,并且非常适用于基本搜索。

每次你这样做时,你可能不会考虑到的是向量是什么样子,或者相似度计算在做什么。让我们用人类术语、向量术语和图形术语来看一个苹果:

人类表征复杂而多维的,不是我们可以完全在纸上捕捉的。让我们给予一些诗意的许可,想象这个诱人的画面代表了苹果的全部感知和概念荣耀。

苹果2的向量表示是一组数字 - 统计领域的构造。向量的魔力在于它们每个都以编码形式捕捉其相应文本的本质。然而,在RAG环境中,只有当您需要确定一组词汇与另一组词汇有多相似时,它们才具有价值。要做到这一点,只需运行相似性计算(又称矢量数学)并获得匹配结果。但是,如果您想理解向量内部的内容,了解周围的内容,掌握文本中的内容代表的东西,或者了解这些内容如何融入更大的背景,那么光靠向量表示就做不到。

知识图谱与之形成对比,它们是世界的陈述性 - 或者按照人工智能的术语来说,是符号的表示。因此,人类和机器都可以理解知识图谱并在其上推理。这是一个重要的问题,我们稍后将再次回顾。此外,您可以查询、可视化、注释、修复和增长知识图谱。知识图谱代表了您的世界模型3 - 您正在处理的领域所代表的世界的一部分。

GraphRAG对比RAG

这不是一场比赛? 向量和图形查询在RAG中各自增加价值。正如LlamaIndex的创始人Jerry Liu所指出的,将图形RAG视为包含矢量是有帮助的。这与“仅矢量的RAG”有所不同,后者严格基于文本中的词嵌入的相似性。

从根本上说,GraphRAG是RAG,其中检索路径包括知识图谱。正如您下面所看到的,核心GraphRAG模式非常简单。基本上,它基本上与具有矢量4的RAG相同的架构,但在图中增加了一个知识图谱层。

GraphRAG 模式

这里,您可以看到一个图查询被触发。它可以选择性地包括一个向量相似性组件。您可以选择将您的图和向量分别存储在两个不同的数据库中,或者使用像Neo4j这样的图数据库,它也支持向量搜索。

使用GraphRAG的常见模式之一如下所示:

  1. 执行向量或关键字搜索以找到初始节点集。

  2. 遍历图以返回有关相关节点的信息。

  3. 可选择,使用基于图的排名算法(如PageRank)重新对文档进行排名。


模式因使用情况而异,就像今天人工智能中的其他所有事物一样,GraphRAG正在被证明是一个丰富的领域,每周都会出现新的发现。我们将在未来的一篇博客文章中专门介绍我们今天看到的最常见的GraphRAG模式。

GraphRAG 生命周期

使用GraphRAG的GenAI应用程序遵循与任何RAG应用程序相同的模式,只是在开始时添加了一个“创建图谱”步骤:

创建图谱类似于将文档分块并将其加载到矢量数据库中。工具的进步使得创建图谱变得非常容易。好消息有三个方面:

  1. 图谱是高度迭代 - 您可以从“最小可行图”开始,然后再扩展。

  2. 一旦您的数据位于知识图谱中,演变就变得非常容易。您可以添加更多种类的数据,以获得数据网络效应的好处。您还可以改善数据的质量,提高应用程序结果的价值。

  3. 该堆栈的这一部分正在迅速改善,这意味着随着工具变得更加复杂,创建图形将变得更加轻松。

将图谱创建步骤添加到前面的图中,您将获得一个看起来像这样的管道:

我将稍后深入研究图谱的创建。现在,让我们将其搁置,谈谈GraphRAG的好处。为什么选择GraphRAG?我们看到的GraphRAG相对于仅基于向量的RAG的好处主要包括三个主要方面:


让我们深入探讨这些方面:

#1:更高的准确性和更有用的答案

我们发现与GraphRAG相关的首个(也是最直接可感知的)好处是更高质量的响应。

除了我们从客户那里看到的越来越多的例子外,许多学术研究也支持这一点。数据目录公司Data.world就是这样的一个例子。2023年底,他们发表了一项研究,显示GraphRAG平均使43个业务问题的LLM答复准确性提高了3倍。基准测试发现,当支持知识图时,响应的准确性有了显著提高。

最近更为人所知的是微软的一系列帖子,始于2024年2月,以一个名为GraphRAG: Unlocking LLM discovery on narrative private data GraphRAG: 解锁大模型RAG知识增强的研究博客开始,附带有一篇关联的研究论文和软件发布。在这里,他们观察到基准RAG(即具有向量)存在以下两个问题:


微软发现“通过使用LLM生成的知识图,GraphRAG大大改善了RAG的‘检索’部分,使上下文窗口中填充更相关的内容,从而获得更好的答案并捕捉证据来源。” 他们还发现GraphRAG需要的令牌比替代方法少26%至97%,这不仅在提供答案方面更好,而且成本更低、可扩展性更强7。

更深入地探讨准确性问题,重要的不仅仅是答案是否“正确”,还有答案有多“有用”。人们发现通过GraphRAG,答案不仅更准确,而且更丰富、更完整、更有用。LinkedIn最近的一篇论文描述了GraphRAG对他们客户服务应用的影响Linkedin的GraphRAG客服问答系统实践,这提供了一个很好的例子。对于回答客户服务问题,GraphRAG提高了正确性和丰富性(从而提高了使用价值),将客户服务团队每个问题的中位解决时间缩短了28.6%8。

一个类似的例子来自由Neo4j教授,并与我们在GCP、AWS和Microsoft的合作伙伴一起组织的GenAI研讨会。下面的示例查询针对一组SEC文件,很好地说明了在使用向量+GraphRAG时可能的答案类型,与仅使用向量的RAG时获得的答案相比。

注意描述受锂短缺影响可能受到影响的公司的特征,以及列出可能受到影响的具体公司之间的区别。如果您是一位投资者,希望在面对市场变动或公司希望在自然灾害面前重新平衡供应链时重新平衡您的投资组合,那么能够访问后者而不仅仅是前者可能会改变游戏规则。在这里,两个答案都是准确的。第二个答案显然更有用。

Jesus Barrasa的《Going Meta》第23集 提供了另一个很好的例子,使用了法律文件的用例,从词汇图开始。https://www.youtube.com/watch?v=E_JO4-2D5Xs

那些观察X-球并在LinkedIn上活跃的人将经常发现不仅实验室而且领域中定期出现新例子。在这里,Lettria的Charles Borderie举了一个仅包含向量的RAG和GraphRAG对比的例子,与基于LLM的文本到图形管道相对应,该管道将吸收10,000篇财经文章并构建成知识图谱:

你可以看到,与普通的 RAG 相比,GraphRAG 对答案的质量不仅明显改善,而且答案所需的令牌数量减少了三分之一。我将包括的最后一个显著例子来自 Writer。最近,他们基于 RobustQA 框架宣布了一个 RAG 基准报告,比较了他们基于 GraphRAG 的方法与竞争对手的最佳工具。GraphRAG 的得分为 86%,这是一个显著的改进,而竞争对手的得分在 33% 到 76% 之间,具有等效或更好的延迟。

每周我会与许多行业的客户见面,他们正在体验各种各样的GenAI应用程序,都带来了类似的积极影响。知识图表通过使结果更加准确且更有用,为GenAI开辟了道路。

#2: 数据理解提升,迭代速度加快

知识图表在概念和视觉上都很直观。能够探索它们通常会揭示新的见解。许多用户反映的一个意外好处是,一旦他们投入到创建他们的知识图表中,就会发现它帮助他们以意想不到的方式构建和调试他们的GenAI应用程序。部分原因在于将自己的数据呈现为图表如何描绘出应用程序底层数据的生动画面。图表还为您提供了将答案追溯到数据以及将数据追溯到因果链起点的钩子。

让我们以上面提到的锂暴露问题为例。如果您对向量进行可视化,您会得到类似于下面这样的内容,只是行和列更多:

当您将数据呈现为图谱时,您可以以一种矢量表示所无法实现的方式来理解它。

以下是来自LlamaIndex10最近网络研讨会的一个示例,展示他们提取向量化块(词汇图)和LLM提取实体(领域图),并通过“提及”关系将这两者联系在一起的能力。

(您可以在Langchain、Haystack、SpringAI等产品中找到类似的示例。)看着这张图,您可能开始看到,拥有一个数据所在地富有结构的情况下,将打开一系列新的开发和调试可能性。数据的各个部分保留其价值,结构本身存储并传达附加的含义,您可以使用这些含义为您的应用程序增加更多智能。

这不仅仅是可视化。还有一个效果,那就是数据结构化的效果,传达和存储着含义。这是一位来自知名金融科技公司的开发人员在引入知识图谱到其RAG工作流程一周后的反应:

这位开发者的反应与测试驱动开发的假设相吻合,即验证而非信任答案的正确性。就我个人而言,将我所有的自主权100%交给SkyNet做完全不透明的决策,这让我感到毛骨悚然!更具体地说,即使是人工智能的非末日论者也能够体会到能够看到一个与“苹果公司”相关的片段或文档实际上不应该映射到“苹果核心”的价值。由于数据最终驱动着GenAI的决策,拥有评估和确保准确性的便利设施至关重要。

#3: 治理:可解释性、安全性等

GenAI决策的影响越大,您就越需要能够说服最终要对决策负责的人信任决策,即使它出现错误。这通常涉及能够审计每个决策。这还需要一个坚实且可重复的良好决策记录。但这还不够。当这个人对某个决策提出质疑时,您还需要能够解释底层的推理。

LLM单独无法做到这一点。是的,您可以获得用于做出决策的文档的引用。但这些并不能解释决策本身 - 更不用说LLM众所周知地编造这些引用!知识图谱在完全不同的层次上运作,使GenAI管道内部的推理逻辑更加清晰,输入更加可解释。

让我们继续使用上面的一个示例,Lettria的Charles加载一个知识图谱,从中提取了来自1万篇财经文章的实体,并使用LLM执行GraphRAG。我们看到这如何提供更好的答案。让我们看看数据:

将数据视为图是第一步。数据还是可导航和可查询的,随着时间的推移可以进行修正和更新。治理优势在于更容易查看和审计数据的“世界模型”。使用图使得最终负责决策的负责人更有可能理解,相对于接受相同数据的矢量版本。在质量保证方面,将数据放入知识图中使得更容易发现数据中的错误和惊喜(无论是愉快的还是其他情况),并追溯到它们的来源。您还可以在图中捕获来源和信心信息,并将其用于计算和解释。当您查看相同数据的仅矢量版本时,这是不可能的,正如我们之前讨论的那样,对于普通人来说这是相当晦涩的,甚至对于高于平均水平的人也是如此。

知识图谱还可以显着增强安全性和隐私性。在建立原型时,这往往不是首要考虑的问题,但这是通向生产路径的关键部分。如果您属于受监管的行业,如银行业或医疗保健业,任何员工可以访问信息的范围可能取决于该人员的角色。既不是LLMs,也不是矢量数据库有很好的方法来限制信息的范围以匹配角色。您可以通过知识图中的权限轻松处理这个问题,其中任何特定参与者访问数据的能力由数据库管理,并排除他们无权查看的结果。这里是一个简单安全政策的模拟,您可以在具有细粒度访问控制的知识图中实施:

知识图谱构建

人们经常问我建立知识图谱需要什么。了解答案的第一步是了解与GenAI应用程序最相关的两种图的类型:

  1. 领域图是与您的应用程序相关的世界模型的图表示。这是一个简单的例子:


  2. 词法图12是文档结构的图。最基本的词法图为每个文本块设置了一个节点:

人们经常扩展这一概念,将其包括在块之间、文档对象(如表格)、章节、节、页码、文档名称/ID、集合、来源等关系中。您还可以像这样结合领域和词汇图:

创建词法图很容易,主要是简单解析和分块策略的问题。至于领域图,取决于您要导入的数据是来自结构化来源、非结构化文本还是两者兼而有之,可能有不同的路径。幸运的是,用于从非结构化数据源创建知识图谱的工具正在迅速改进。例如,新的Neo4j知识图构建器可以从PDF文档、网页、YouTube剪辑或维基百科文章中提取内容,并自动生成知识图谱。只需点击几下按钮,即可可视化(当然也可以查询)输入文本的领域图和词汇图。它功能强大又有趣,显著降低了创建知识图谱的门槛。

关于客户、产品、地理位置等方面的数据很可能以结构化形式存储在您企业的某个地方,并且可以直接从存储位置获取。以最常见的情况为例,在关系型数据库中,您可以使用遵循经过验证规则的标准工具进行关系到图的映射。

使用知识图谱

一旦您拥有知识图谱,就会发现有越来越多的框架可用于进行GraphRAG,包括LlamaIndex属性图索引、Langchain的Neo4j集成以及Haystack等等。该领域发展迅速,但我们现在正处于编程方法变得简单的阶段。

在图谱构建方面也是如此,有诸如Neo4j导入工具之类的工具,它具有用于将表格数据映射并导入到图形的图形化用户界面,以及上文提到的Neo4j的新v1 LLM知识图谱构建器。下面的图总结了构建知识图谱的步骤。

你会发现自己在知识图谱中做的另一件事是将人类语言问题映射到图数据库查询。Neo4j 的一款新开源工具 NeoConverse 旨在帮助自然语言查询图。这是向通用化迈出的第一实质性步骤。

虽然毫无疑问,图需要一些工作和学习才能开始使用,但好消息是随着工具的改进,使用变得越来越容易。

结论:GraphRAG 是 RAG 的下一个自然步骤

LLM 和基于向量的 RAG 中固有的基于单词的计算和语言技能提供了好的结果。要获得一致很好的结果,需要超越字符串并捕捉世界模型以及单词模型。就像谷歌发现,要掌握搜索,他们需要超越纯粹的文本分析并映射出字符串下面的基础事物一样,我们开始看到相同的模式在人工智能领域出现。这种模式就是 GraphRAG。

进展发生在 S 形曲线上:当一种技术达到顶峰时,另一种技术会推动进步并超越先前的技术。随着 GenAI 的发展,对于那些质量至关重要的用途;或者对于需要解释性的内部、外部或监管利益相关方;或者对于需要针对隐私和安全访问数据的细粒度控制,那么你下一个 GenAI 应用程序很有可能会使用知识图谱。

您可以第一手体验GraphRAG!

如果您准备与GraphRAG迈出下一步,我邀请您尝试Neo4j LLM知识图构建器。这款简单的Web应用程序让您只需点击几下即可从PDF、网页和YouTube视频等非结构化文本来源创建知识图。这是一个体验GraphRAG强大功能的理想场所。

通过LLM知识图构建器,您可以:

致谢

作者及审阅者:

Philip Rathle, Chief Technology Officer, Neo4j


原文链接:

The GraphRAG Manifesto: Adding Knowledge to GenAI (neo4j.com)

https://neo4j.com/blog/graphrag-manifesto/

补充阅读:

对这个话题已经有很多文章进行了阐述,每天都会出现新的见解和例子。虽然我不能提供详尽的清单,但下面是一些特别好的文章,如果你有兴趣了解更多,可以查阅一下:

最后但并非最不重要的是,如果您发现自己需要向老板证明GraphRAG,并想要丢出一些额外的分量,那么最好参考《Gartner 2024年生成式人工智能影响雷达》https://www.gartner.com/en/articles/understand-and-exploit-gen-ai-with-gartner-s-new-impact-radar ,该报告将知识图谱置于当前最相关的GenAI技术的中心!



  1. 阅读此博文,了解谷歌在网络搜索领域的类比对目前在 GenAI 中发生的事情有多么伟大。

  2. 注意:这些特定的数字可能或可能不代表一个苹果。很难知道,这说明了向量和图之间的一个关键区别之一。

  3. 正如后面在“知识图创建”部分所讨论的,除了“领域图”之外,另一种与之不同的知识图正在出现并被证明是有用的。这就是“词法图”,它不是一个世界模型,而是一个矢量块的图,展示它们相互之间以及与周围的文档结构(表格/图表/页面/文档/集合/作者等)的关系。

  4. 自然地,这经常不仅显示为一个包罗万象的单一步骤,而是越来越多地作为一个遵循其自己一套步骤和逻辑的代理管道的一部分出现。顺便说一句,这也是一个图。随着这些变得更加复杂,人们可能潜在地会看到将这些工作流程和规则捕捉在图数据库中而不是代码中。但我们还没有达到那一步,这与目前讨论的话题不同。

  5. 这一点会启动,一旦您已经有了一个知识图在那里。这并不是免费的,但您可能会惊讶于最新进展进行得有多么方便。因为这是一个非常基础的主题,我们在此之后的科学和艺术构建知识图的部分专门讨论了这一点。

  6. 知识图谱还可以帮助其他形式的可追溯性,比如捕捉数据在系统与系统之间如何流动,使用系统之间/来源/数据谱系图。它们还可以提供其他人工智能的好处,比如跟踪已解决的实体。由于这里的重点是 GraphRAG,我们将把所有这些放在一边。

  7. 如果您想更深入地了解这一点,并动手编写一些工作代码,我强烈推荐我的同事 Tomaz Bratanic 的文章:使用 Neo4j 和 LangChain 实现“从本地到全局”GraphRAG:构建图。这进一步推进了微软的工作,将其整合到 Neo4j + Langchain 管道中。

  8. 论文本身包括对 GraphRAG 和仅使用向量的 RAG 方法进行更详细比较,发现 GraphRAG 在 MRR 中的答案提高了 77.6%,在 BLEU 中比基准提高了 0.32。

  9. 由 Neo4j 提供动力,正如发生的那样。

  10. 这是一个很棒的网络研讨会,展示了他们新的(大约是 '24 年 5 月)Property Graph Index 的使用,其中包括将文本转换为图的内置方法。

  11. 我想我们都知道“影响”是什么意思,但只是为了澄清一下:这包括任何错误答案可能对健康和人类安全、社会和公平、声誉,或高额影响产生的决策。显然,这也包括那些可能受到政府监管或者其他方面具备遵从影响的决策。

  12. 请注意,这里的 “词法” 一词不仅指个别单词,而更广泛涉及(如下面的词典定义建议的)“有关单词或一种语言词汇的”。这包括了位于一组单词及其关系领域中的所有内容。

  13. 一些执行此功能的库,没有特定顺序:Docs2KG、Diffbot、GLiNER、spaCy、NuMind、NetOwl®,以及(特别在实体解析方面的优势)Senzing。

  14. 敬请期待 2024 年下半年推出的这个工具的新版本,将支持直接连接到您选择的关系数据库。

  15. NeoConverse 和 LLM GraphBUilder 都是由 Neo4j 构建的日益增长的 GraphRAG 生态工具体系的一部分。








欢迎光临 链载Ai (https://www.lianzai.com/) Powered by Discuz! X3.5