随着人工智能的飞速发展,检索和生成相关且精准的内容变得至关重要。然而,面对日益复杂的查询和对上下文感知需求,传统的AI系统显得捉襟见肘。GraphRAG 应运而生,它是一种创新的框架,通过构建知识图谱(KGs)并利用基于图的推理、分析和大型语言模型(LLMs),增强了检索增强生成(RAG)的能力,使得AI系统能够超越基本的数据检索,提供更深入的见解和更准确的信息解读,从而革新内容检索与生成方式。本文将深入探讨 GraphRAG 的原理、优势以及它如何开启 AI Agent 交互的新纪元。
GNNs、LLMs、KGs与RAG的演进
人工智能驱动的内容检索经历了从图神经网络(GNNs)到大型语言模型(LLMs),再到传统的检索增强生成(RAG)的显著演进。理解这些技术之间的联系与差异,有助于我们更深入地理解现代AI系统如何提供更准确、更可解释的结果。
GNNs 擅长分析数据中的结构化关系,在推荐系统和欺诈检测等应用中发挥着重要作用。然而,由于实施复杂性和可扩展性问题,GNNs在实际应用中面临着诸多挑战。虽然GNNs在建模关系数据方面表现出色,但它们与企业AI系统的集成仍然是一个难题。举例来说,在社交网络分析中,GNNs可以有效地识别社区结构和影响力节点,但将这些信息融入到更广泛的知识管理系统中却并非易事。
LLMs 彻底改变了AI驱动的搜索和内容生成,但常常受到事实不一致和幻觉问题的困扰。这些模型缺乏内置的验证信息机制,在处理复杂或特定领域的查询时,可能会产生不可靠的回答。例如,当询问关于最新医学研究的细节时,未经充分训练或缺乏相关知识的 LLM 可能会给出错误或过时的信息。因此,将结构化知识整合到 LLM 中以提高准确性变得至关重要。
KGs 提供了一种结构化的方式来表示实体及其关系,从而将显式知识编码到 AI 模型中。通过将知识图谱与 LLMs 相结合,可以增强事实基础、提高上下文理解,并提供更可靠的决策支持。例如,在智能客服领域,利用知识图谱可以使 LLM 能够准确地回答客户关于产品功能、定价和服务的复杂问题。集成知识图谱的关键方法包括:
- 将知识嵌入到训练目标中:调整模型学习,以平衡文本和结构化知识表示。
- 将知识图谱三元组注入到输入中:通过结构化关系增强模型上下文。
- 融合模块:在将结构化数据与 LLM 编码合并以进行增强推理之前,对其进行单独处理。
传统的 RAG 通过检索外部知识来优化生成的响应,从而提高 LLM 的性能。然而,传统的 RAG 依赖于基于向量的检索,这可能难以处理抽象、嘈杂或复杂的查询。其局限性包括:
- 缺乏结构:文本嵌入捕获语义相似性,但忽略了关系上下文。
- 难以处理复杂查询:传统的 RAG 在大型数据集的摘要和主题分析方面存在困难。
- 可解释性有限:用户无法追踪检索到的内容回到其结构化来源。例如,用户可能无法理解为什么某个特定的文档被选为答案的一部分。
GraphRAG的优势:超越传统RAG的创新
GraphRAG 是一种先进的 RAG 方法,它通过集成知识图谱(KGs)和 LLMs 来增强 AI 驱动的检索。与仅依赖于向量检索的传统 RAG 不同,GraphRAG 将信息结构化为实体和关系,从而创建更丰富、更可解释的知识框架。这使得 AI 模型能够更有效地回答抽象、全局和主题查询。
GraphRAG 尤其适用于以下场景:
- 更高的准确性:GraphRAG 可以提高响应精度,尤其是在需要上下文的复杂查询方面。例如,在回答“导致服务器宕机的根本原因是什么?”这类问题时,GraphRAG 可以通过知识图谱中的依赖关系链,准确地找出问题根源。
- 可解释性和治理:知识图谱允许用户追踪响应回到结构化数据,从而提高透明度。例如,用户可以清晰地看到某个特定结论是由哪些证据支持的,从而提高对系统输出的信任度。
- 可扩展性:图结构可以有效地管理和扩展知识,而无需重新训练。这意味着,随着知识库的增长,GraphRAG 仍然可以高效地提供准确的答案。
- 上下文感知:通过捕获实体关系,GraphRAG 可以提供超越孤立文本检索的更深入的见解。例如,它可以识别不同部门之间的合作关系,从而帮助管理层更好地了解组织内部的运作方式。
在上下文丰富性和推理深度这两个关键维度上,GraphRAG 明显优于 LLMs、GNNs 和 KGs。
- 上下文丰富性 衡量了系统整合和解释结构化与非结构化信息的能力。
- 推理深度 反映了系统进行推理、符号逻辑和多步骤理解的能力。
虽然 LLMs 和传统的 RAG 提供了可靠的基线检索能力,但它们通常缺乏深层的语义结构或透明的推理过程。GNNs 和知识图谱提供了更强的逻辑和关系建模能力,但在与非结构化语言或动态上下文进行流畅交互方面受到限制。而 GraphRAG 将密集向量检索与基于图的遍历相结合,有效地融合了神经推理和符号推理的优势。因此,GraphRAG 非常适合需要可解释性和精确性的用例,例如根本原因分析、复杂问题解答和智能事件管理。例如,在网络安全领域,GraphRAG 可以帮助安全分析师快速识别攻击源头、受影响的系统和潜在的漏洞,从而提高事件响应效率。
GraphRAG的工作原理:结构化检索与推理
GraphRAG 通过结合知识图谱 (KGs) 来增强标准的检索增强生成 (RAG) 方法,从而实现结构化检索。GraphRAG 不仅依赖于语义相似性来检索信息,还会从源文档中提取实体、关系和元数据以构建知识图谱。
在高层次上,GraphRAG 遵循一种结构化的方法来提高检索准确性和可解释性:
- 知识图谱构建:从源文档中提取实体、关系和相关元数据,以形成结构化的知识图谱。例如,从产品文档中提取产品名称、功能和与其他产品的兼容性信息,构建一个关于产品知识的图谱。
- 基于图的查询:GraphRAG 将用户查询转换为 KG 查询,以检索相关的实体及其关系,而不是单独在向量数据库中搜索文本块。例如,用户查询 “哪些产品与 Azure ML 兼容?”会被转换为对知识图谱的查询,检索与 “Azure ML” 实体相关联的 “兼容” 关系的其他产品实体。
- 子图提取和编码:提取包含相关实体及其连接的子图,并将其编码为适合 LLM 处理的格式。例如,提取包含 “Azure ML”、”兼容产品” 和它们之间关系的子图。
- 上下文检索:将检索到的子图与原始查询一起提供给 LLM,利用结构化知识丰富上下文。例如,将包含 “Azure ML” 和 “兼容产品” 信息的子图提供给 LLM,以便它能够更好地理解用户查询的上下文。
- 响应生成:LLM 使用从 KG 检索到的结构化知识和上下文信息生成响应,从而产生更精确和可解释的答案。例如,LLM 可以生成一个包含与 Azure ML 兼容的产品列表的清晰、简洁的答案。
与传统的 RAG 相比,GraphRAG 通过将知识结构化为图,提供更深入的上下文推理,从而实现更准确、可解释和上下文感知的检索。
GraphRAG架构:微软研究院的实践
GraphRAG 代表了一种新兴的技术集合,它将 KGs 与 LLMs 合并以增强 RAG。微软研究院开发的 GraphRAG 架构提供了一个结构化和可扩展的框架,用于增强信息检索和推理。该架构包含两个主要组件:
- 索引引擎:将非结构化文本转换为结构化图,包括社区形成和提示调整。
- 查询引擎:定义与图交互以检索相关信息并生成上下文感知响应的机制。
索引引擎:知识的结构化表示
索引管道负责将原始文本转换为语义丰富的知识图谱,作为下游推理的基础。
文本分割和信息提取
该过程从将语料库分割成文本单元(例如段落或句子)开始。然后,将每个单元传递给基于 LLM 的提取器,以识别:
- 实体(例如个人、团队、技术)
- 关系(例如“与…合作”、“领导”、“属于”)
- 声明(例如“John 领导 Azure ML 团队”)
这些提取的内容充当结果图结构中的原子节点和边。例如,从一份项目报告中,可以提取出项目名称、参与者、使用的技术以及项目目标等信息,这些信息将被转化为知识图谱中的节点和边。
通过图聚类形成社区
为了增强推理和可扩展性,GraphRAG 使用 Leiden 算法应用分层聚类。此步骤将紧密连接的节点分组到社区中,每个社区代表一个有凝聚力的语义主题(例如“AI 研究”、“云基础设施”、“产品团队”)。这些社区实现了模块化推理并促进了数据集范围内的综合。例如,可以将所有与特定产品相关的文档和实体聚类到一个社区中,以便用户可以轻松地找到关于该产品的所有相关信息。
形成后,使用 LLM 总结每个社区以生成社区报告——一个结构化的概述,其中包含该集群中的关键实体、关系和叙述。这些摘要充当索引验证和查询解析中使用的轻量级抽象层。例如,社区报告可以包含关于产品功能、优势、目标用户以及与其他产品的比较等信息。
用于自适应信息提取的提示调整
提取的知识图谱的质量与索引阶段使用的提示密切相关。微软的 GraphRAG 实现支持三个级别的提示调整:
- 默认提示:预定义的通用模板,可为常见领域提供快速稳定的提取。
- 自动调整:为输入语料库量身定制的零样本提示生成。此方法动态配置提取器提示,调整角色,并根据特定领域的信号调整行为——非常适合多领域数据集。
- 手动调整:用户可以完全控制提示,以针对需要细粒度自定义和迭代改进的特定领域语料库。例如,可以根据特定行业或组织的术语和惯例来调整提示,以提高提取的准确性。
这种多层提示系统确保提取阶段保持对各种内容结构和信息需求的适应性。
动态图维护
当添加新文档或结构发生更改时,GraphRAG 支持增量更新。无需从头开始重建图,只需重新计算受影响的社区或节点。例如,如果两个组织部门合并,则可以重新计算和重新聚类它们各自的社区,而不会破坏图的其余部分。
查询引擎:结构化检索和推理
索引并丰富知识图谱后,GraphRAG 架构的第二个组件侧重于查询。它定义了三种主要模式来与图交互,每种模式都针对特定的信息需求和推理级别。
本地搜索
本地搜索是一种基础搜索方法,经过优化,用于检索数据集中语义相似的文本。它非常适合需要少量上下文且侧重于特定实体或事实的问题。此模式擅长解决诸如“谁领导应用研究团队?”或“Yasmin 的主要贡献是什么?”等有针对性的查询。通过保留相关的周围上下文,本地搜索支持在狭窄范围内提供精确的、基于事实的答案,使其非常适合侧重于细节的信息检索。
- 管道概述:
- 解析查询以识别焦点实体。
- 从图中检索相邻节点(例如关系、声明)。
- 将实体上下文与相关的社区摘要合并。
- LLM 根据本地信息和上下文信息构建最终响应。
全局搜索
全局搜索是一种旨在支持对整个数据集进行全面理解的模式。它最适合需要广泛上下文和对底层信息进行全面查看的广泛的、开放式问题。此模式使用户能够探索总体主题、发现关键主题并深入了解跨多个领域或组织单元的高层趋势。典型的查询可能包括“当前的主要 AI 项目是什么?”或“总结最近的组织变更。”使用社区报告生成响应——社区报告是提炼每个集群内容的摘要输出——这使得全局搜索非常适合大规模的探索性分析。
- 管道概述:
- 针对一批社区摘要匹配查询。
- 将每个摘要传递给 LLM 以生成中间响应。
- 根据相关性对响应进行排名和过滤。
- 从排名最高的见解中综合得出最终答案。
DRIFT 搜索(具有灵活遍历的动态推理和推断)
DRIFT 搜索引入了一种混合方法,可以无缝集成本地推理和全局推理。这种创新的搜索模型非常适合通过后续问题演变的查询,这些问题需要来自详细的本地上下文以及更广泛的组织趋势的见解。DRIFT 专门用于处理复杂的、分层的查询——从广泛的概述开始,逐步深入到特定细节,同时保留总体上下文。例如,它擅长解决诸如“哪些团队在 AI 和安全项目中跨项目协作?”之类的查询。通过实现对知识图谱的更深入导航,DRIFT 将精确的事实信息与高层模式相平衡,从而确保响应迅速、连贯且全面的搜索结果。
- 管道概述:
- 系统从本地查询扩展和候选节点检索开始。
- 基于语义相关性自适应地选择遍历路径。
- 聚合来自实体级别和社区级别的见解。
- LLM 综合得出细致的、多角度的响应。
总结与展望:GraphRAG驱动的智能未来
在本文中,我们介绍了 GraphRAG——一种新颖的、从 LLM 派生的、基于知识图谱的 RAG 方法。我们研究了它如何建立在 LLMs、GNNs、KGs 和传统 RAG 的优势之上,以解决 AI 驱动的搜索中的一些关键限制,例如幻觉、缺乏结构和可扩展性问题。通过将结构化知识与高级推理能力相结合,GraphRAG 提供了一种更准确、更可解释和上下文感知的检索系统——弥合了非结构化数据与可信赖的企业级答案之间的差距。在未来的发展中, GraphRAG 将在智能客服、金融风控、医疗诊断等领域发挥更大的作用。例如,在金融领域,GraphRAG 可以帮助分析师快速识别潜在的洗钱活动,并提供相关的证据和解释,从而提高监管合规性。
GraphRAG 代表了 AI 技术发展的重要里程碑,它不仅提升了内容检索的准确性和效率,也为我们开启了一个 AI Agent 可以更智能、更自主地进行交互的新时代。通过将结构化知识与强大的推理能力相结合, GraphRAG 正在塑造一个更加智能、高效和值得信赖的未来。