跳至主要内容

什么是 GraphRAG?

什么是 GraphRAG?

GraphRAG(图形检索增强生成)是一种先进的 RAG 技术,可将源文档中的知识结构化为实体和关系图。RAG 是一种基于向量的机器学习技术,无需重新训练即可扩展大语言模型的知识。GraphRAG 的图形建模方法使用图形遍历进行信息检索,这是 RAG 语义搜索的替代方案。在高度互连的数据和聚合查询中,GraphRAG 的性能优于基线 RAG。

为什么 GraphRAG 非常重要?

GraphRAG 解决了从私有数据集合成时检索增强生成(RAG)的局限性。RAG 或基线 RAG 的工作原理是将语义搜索与大语言模型(LLM)用作参考的向量数据库相结合。RAG 允许 LLM 使用外部信息回答超出其训练知识范围的查询。当 LLM 收到查询时,基线 RAG 会运行向量搜索,从私有数据库返回语义相关的区块。这样 LLM 就能够了解专有或特定领域的数据,例如产品价格。

但是,RAG 并不是为揭示跨不同文档的数据关联而设计的。尽管 RAG 在单个文档的语义相似度搜索方面表现出色,但它在需要跨多个文档进行关系推理的复杂查询中却表现不佳。因此,LLM 可能无法为多跃点查询、关系查询和分层查询提供上下文丰富的响应。例如,如果您查询基线 RAG,“产品 A 的价格是多少?”,它会返回“产品 A 的价格为 10 美元”。但是,它无法自信地回答诸如“为什么产品 A 比产品 B 更昂贵?”之类的问题。

GraphRAG 旨在提高基线 RAG 的可解释性和推理能力。GraphRAG 没有专注于单个文档中的语义搜索,而是将所有文档中的实体映射到知识图谱中。通过跨文档连接相关实体,GraphRAG 使 LLM 能够更全面地回答基于向量的检索器无法回答的主题。此外,GraphRAG 提高了可解释性,因此您可以更轻松地理解生成的响应中提及特定实体的原因。

GraphRAG 的工作原理是什么?

采用 Amazon Neptune Graph 的 GraphRAG

GraphRAG 将 LLM 与图形数据库相结合,用于跨实体的复杂推理,提供与上下文相关的响应。它不是直接从私有向量数据库检索数据,而是引入了知识图谱来增强查询。通过使用图形遍历和深度优先搜索等技术,检索模块映射、分析和识别知识图谱中的节点。

以下是 GraphRAG 中的步骤:

  • 用户查询 LLM
  • LLM 从查询中提取实体和关系,并将实体映射到节点,将关系映射到边
  • GraphRAG 使用图形查询语言从知识图谱中检索特定信息
  • 检索后,将对基于图形的结构进行筛选,移除无关的节点
  • LLM 根据检索到的图形和原始查询综合答案

GraphRAG 的实际实现需要先对知识图谱进行索引,然后才能进行查询。

索引阶段

索引阶段根据私有文档创建知识图谱。为此,LLM 使用命名实体识别(NER)自然语言处理技术来识别来自多个输入数据集的关键实体。

假设一个组织将 LLM 连接到来自不同业务部门的数据仓库。在知识图谱创建过程中,检索器从不同的数据库中提取营销、销售和客户支持中的产品、定价和日期等关键信息。然后,GraphRAG 系统发现并建立提取的实体之间的关系。它使用语义和共现关系来连接实体。

索引的目标是将相关信息聚集在一起。在这里,GraphRAG 应用诸如 Leiden 之类的机器学习技术,来发现具有牢固上下文关系的实体或节点。我们称这些节点组为社区。通常,知识图谱由多个相互松散联系的社区结构组成。对于每个节点社区,LLM 都会生成一个高层摘要,这有助于在推理过程中确定总体主题。这些图形结构的数据点使 LLM 更容易为复杂的推理检索高度相关的信息。

最后,GraphRAG 存储知识图谱。在支持混合检索的 LLM 系统中,检索器生成向量嵌入并将它们与图形数据库一起存储在向量存储中。

查询阶段

查询涉及用户主动提示 LLM 提供特定域的信息。当 LLM 收到查询时,它会使用命名实体识别等技术识别和提取其中提及的实体。然后,LLM 将实体连接起来,这样它就可以更有效地解释实体的关系。

GraphRAG 使用 Cypher、Gremlin 和 SPARQL 等图形查询语言来遍历图形并将实体映射到节点和边缘。这允许 GraphRAG 系统将连接的实体映射到底层知识图谱。一旦识别,GraphRAG 系统会返回关联的实体,然后对这些实体进行预处理并进行评分。最后,系统评测检索到的节点的相关性,并选择最相关的节点来生成答案。

本地搜索与全局搜索

根据查询的类型,GraphRAG 系统可能会进行本地搜索或全局搜索。本地搜索使用知识图谱中的结构化数据和单个文档中的非结构化数据来形成上下文准确的答案。通常,它会回答诸如“企业 X 的合同条款是什么?”之类的问题。 而全局搜索整合了多个社区的摘要,以提供全面的响应。在回答“我们的商业合同中有哪些共同特征?”之类的问题时,全局搜索提高了 LLM 的准确性。

什么是知识图谱?

用于上下文推理的知识图谱

知识图谱由相互链接并以复杂网络形式排列的实体组成。实体是独立的对象,例如人物、地点或事件。不同的节点通过一条边连接。在 GraphRAG 中,知识图谱捕获了向量嵌入无法表示的实体之间的关系。

可以将知识图谱想象成一张大网,其中多个对象相互连接。例如,在“Mary bought a house”这句话中,Mary 和 house 是节点,而 bought 是边。与具有严格架构的传统数据库不同,知识图谱是一种灵活的数据建模技术,用于捕获、表示和解释关系结构。机器学习工程师使用 LLM 提取、NER 和关系提取技术来构建知识图谱。

GraphRAG 对比基线 RAG

通常,基线 RAG 比 GraphRAG 更容易设置,因为它更简单。基线 RAG 将信息块作为向量存储在向量数据库中。检索信息时,基线 RAG 会从向量数据库中提取。同时,GraphRAG 将私有数据集转换为知识图谱,以捕捉实体之间的上下文关系。由于 GraphRAG 使用不同的检索过程,因此在复杂的推理和整体摘要任务上的表现优于基线 RAG。

基线 RAG 在基于向量的相似度搜索中表现良好,适用于简单的查询。GraphRAG 依赖于图形架构和关系提取来生成响应,这对于简单的搜索需要更长的时间。当基线 RAG 检索实体时,它会选择语义上与查询匹配的实体。相反,GraphRAG 系统在生成答案时会将带有相关上下文的实体组合起来。基线 RAG 在无法确定上下文关系时有时会出现幻觉。另一方面,GraphRAG 会跟踪知识图谱以提供准确的响应。由于 GraphRAG 会检索基于图形的实体,因此您可以更轻松地解释为什么 LLM 在其响应中选择特定的实体。

GraphRAG 模式有哪些类型?

下面,我们将分享实施 GraphRAG 的不同方法。

仅限图形的检索

仅限图形的检索完全依赖于遍历 LLM 为检索而构建的图形结构。它不是使用语义搜索来匹配相关的嵌入,而是使用遍历算法(例如深度优先搜索和自适应检索)在相关节点之间导航连接。您还可以使用图形神经网络(GNN)通过高级推理进行图形遍历。

向量 + 图形混合

GraphRAG 擅长解释实体之间的关系。但是,仅限图形的检索缺少语义搜索匹配。将向量嵌入与 GraphRAG 相结合,可以让组织克服两种检索模型的局限性。在这种模式下,图形连接存储向量化数据点的多个节点。此模型有时也被称为 hybridRAG,对于复杂的多跳问题,例如“哪些购物者的行为与 John 类似,哪些策略导致了成功的转化?”

智能体 GraphRAG

智能体 GraphRAG 使用智能体人工智能来执行基于图形的检索和生成。智能体人工智能是一组人工智能自动化软件,它们围绕共同目标开展工作,并能够基于上下文独立做出决策。通过将智能体人工智能与 GraphRAG 集成在一起,该系统可以通过自主的多步推理来查询、分析和改善响应。

GraphRAG 有哪些使用案例?

组织可以使用 GraphRAG 改善以下领域的信息检索和查询响应。

企业知识管理

GraphRAG 可以通过跨文档问答来增强知识管理工作流程。GraphRAG 显示了不同的文档、政策和数据库之间的联系,为员工提供与上下文相关的答案。例如,电子商务聊天机器人在生成答案时可以检索过去的销售交易、特定的客户信息和产品功能。

网络安全

安全团队可以将 GraphRAG 与他们的网络防御基础设施集成,识别可疑模式。通过基于图形的遍历,安全系统可以关联孤立的警报,识别有意义的模式。通过绘制威胁参与者、漏洞、资产和先前事件之间的结构关系,他们可以改善预测未来数据风险的工作。

医疗保健与生命科学

药物发现涉及对大量数据集中的化合物、机制、临床试验和患者疗效进行大量分析。医学研究人员可以使用 GraphRAG 增强其工作,从各种来源获得基于证据的见解。此外,医疗保健专业人员可以使用基于图形的结构分析患者诊断、治疗计划和症状,进而确定潜在的相关性。

金融服务

银行、金融科技和贷款机构可以将 GraphRAG 与其系统集成,改善信用评分和欺诈检测等功能。通过利用基于图形的连接,财务团队可以识别交易、账户和银行网络中的可疑模式。

法律与合规

基于图形的分析改进了支持在实践中交叉引用法规、合规性和法律义务的工作流程。律师、合同文员和法律专业人员在分析大型文档集时可以提高效率和简洁性。

GraphRAG 的关键考虑因素是什么?

GraphRAG 引入了上下文理解,解决了基线向量 RAG 的局限性。但是,在推动 GraphRAG 在各行各业规模化采用方面仍然存在挑战。

索引成本和延迟

与基线 RAG 相比,GraphRAG 使用 LLM 根据实体关联对其进行索引和映射。这个过程是资源密集型且成本高昂的。因此,一些应用程序,尤其是那些需要简单问答查询的应用程序,并不能证明 GraphRAG 的设置成本是合理的。

图形维护

随着组织的发展,他们必须摄取新文档以使知识图谱保持最新状态。但是,随着数据集增长到非常大的规模,增加图形大小可能会降低检索质量。如果图形数据的增长超过一定的限值,则检索器将难以应对噪声和多跳推理。为了克服这种现象,机器学习团队将社区检测与单个节点检索相结合。

检索策略选择

根据查询类型的不同,GraphRAG 的某些变体比其他变体的性能更好。例如,具有强边权重和向量索引节点的基于图形的检索器在事实检索方面表现更好。同时,需要跨页推理的抽象查询需要社区摘要和关系丰富的图形。

评估

在评估 GraphRAG 的性能时,请选择非常适合基于图形的检索的框架。GraphRAG 系统以实体子图的形式检索信息。子图通常被序列化为文本,因此 LLM 可以对其进行处理。因此,评估区块级别精度和召回率的标准 RAG 指标可能并不完全足够。取而代之的是,使用基于令牌的指标之外的方法,例如多跳推理基准和答案忠实度指标。

AWS 如何支持您的 GraphRAG 需求?

AWS 为构建 GraphRAG 应用程序提供托管和自托管选项,将图形基础设施与基础模型访问权限相结合。以下是一些基础的 GraphRAG 服务:

Amazon Bedrock 知识库是一项完全托管的 RAG 功能,内置会话上下文管理和来源归因,并支持 GraphRAG。如果您选择 Amazon Neptune Analytics 分析数据库引擎作为向量存储,则 Amazon Bedrock 知识库会自动创建嵌入和图形,以链接您数据来源中的相关内容。Bedrock 知识库利用 GraphRAG 的这些内容关系来提高检索的准确性,从而为最终用户提供更全面、更相关以及更可解释的响应。

Amazon Neptune 是一项无服务器图形数据库服务,可实现数据互联并提高人工智能准确性。为了简化人工智能应用程序的开发,Amazon Neptune Analytics 分析数据库引擎通过 Amazon Bedrock 知识库提供完全托管式 GraphRAG,并与 Strands 智能体 SDK 和常用的智能体内存工具集成。

立即创建免费账户,开始在 AWS 上使用 GraphRAG。

Browse all cloud computing concepts

Browse all cloud computing concepts content here:

正在加载
正在加载
正在加载
正在加载
正在加载

Did you find what you were looking for today?

Let us know so we can improve the quality of the content on our pages