前言
近年来,大型语言模型(LLM)如 GPT-4、Qwen2 和 LLaMA 正在彻底改变人工智能领域,特别是在自然语言处理方面。这些基于 Transformer 的模型经过海量数据集训练,展现出卓越的理解和生成能力,深刻影响了医疗、金融和教育等行业。然而,LLM 仍面临领域特定知识不足、缺乏实时信息以及超出训练语料库的专有数据等挑战。这一局限性常导致'幻觉',即模型生成不准确或虚构的信息。
为了解决这一问题,检索增强生成(RAG)作为一种有前景的解决方案应运而生。通过参考外部知识库,RAG 精炼 LLM 输出,有效减轻了幻觉、缺乏特定领域知识和过时信息等问题。然而,传统 RAG 在处理数据库中不同实体之间复杂的关系结构时存在局限。为此,图检索增强生成(GraphRAG)利用实体之间的结构信息以实现更精确和全面的检索,捕获关系知识并促进更准确、上下文感知的响应。
本文基于蚂蚁集团联合北京大学、浙江大学、中国人民大学及美国罗格斯大学的研究成果,对 GraphRAG 进行了全面综述。我们形式化了 GraphRAG 工作流程,包括基于图的索引、图导向检索和图增强生成,概述了每个阶段的核心技术和训练方法,并考察了下游任务、应用领域、评估方法和工业应用案例。
核心概念与框架
1. GraphRAG 定义与优势
图检索增强生成(GraphRAG)是一种创新解决方案,旨在应对传统 RAG 方法的局限性。与传统 RAG 仅从文本块中检索信息不同,GraphRAG 从预构建的图数据库中检索包含关系知识的图元素,考虑文本之间的相互关联。这种方法能够更准确、全面地检索关系信息。
GraphRAG 利用图数据(如知识图谱),提供文本数据的抽象和总结,从而减少输入文本长度,减轻冗长问题。通过检索子图或图社区,GraphRAG 可以访问全面的信息,有效应对诸如查询聚焦摘要等挑战,通过捕捉图结构中的更广泛上下文和相互关系。
与直接由 LLM 回答相比,GraphRAG 利用图数据中的明确实体和关系表示,通过检索相关结构化信息来实现精确的答案。它与其他方法如图上的 LLM 不同,后者主要关注将 LLM 与图神经网络结合用于图数据建模。GraphRAG 还超越了知识库问答(KBQA)方法,将其应用于各种下游任务。
2. 工作流:G-Indexing, G-Retrieval, G-Generation
GraphRAG 通过从图数据库中检索相关知识来增强语言模型的响应。该过程包括三个主要阶段:
2.1 基于图的索引 (G-Indexing)
G-Indexing 创建一个与下游任务对齐的图数据库。这一基础涉及选择或构建适当的图数据,从开放知识图到自建数据集,以及实施有效的索引方法以优化检索和生成过程。图数据在 GraphRAG 中的使用可以分为两种主要类型:
- 开放知识图谱:包括一般知识图谱(如 Wikidata、Freebase 和 DBpedia)和领域知识图谱(如生物医学领域的 CMeKG 和电影行业的 Wiki-Movies)。
- 自构建图数据:是从各种来源创建的,以满足特定任务的需求。例如,研究人员构建了文档图、实体关系图和特定任务的图,例如专利短语网络。
基于图的索引对于 GraphRAG 中高效的查询操作至关重要,采用三种主要方法:
- 图索引:保留整个图结构,方便访问边和邻近节点。
- 文本索引:用于将图数据转换为文本描述,允许基于文本的检索技术。
- 向量索引:用于将图数据转化为向量表示,促进快速检索和高效查询处理。 在实践中,通常更倾向于结合这些方法的混合方法,以优化 GraphRAG 系统中的检索效率和有效性。
2.2 图引导检索 (G-Retrieval)
G-Retrieval 根据用户查询从数据库中提取相关信息。GraphRAG 中的检索过程对于提取相关图数据以增强输出质量至关重要,但面临两个主要挑战:随着图大小的增加,候选子图的指数增长,以及在文本查询和图数据之间准确测量相似度的困难。
为了解决这些问题,研究人员专注于优化检索过程的各个方面。这包括开发高效的检索模型,精炼检索范式,确定适当的检索粒度,以及实施增强技术。这些努力旨在提高图数据检索的效率和准确性,最终在 GraphRAG 系统中实现更有效和具有上下文相关性的输出。
2.3 图增强生成 (G-Generation)
G-Generation 基于检索到的图数据合成输出。此过程涉及选择适当的生成模型,将图数据转换为兼容格式,并将查询与转换后的数据作为输入。此外,还采用生成增强技术来加强查询与图之间的交互,并丰富内容生成,进一步改善最终输出。
生成器选择在 GraphRAG 中取决于下游任务。对于区分任务,GNN 或区分语言模型可以学习数据表示并将其映射到答案选项。生成任务则需要解码器生成文本响应。尽管生成语言模型可以用于这两种任务类型,但仅使用 GNN 和区分模型不足以满足需要文本生成的生成任务。
在 GraphRAG 中使用语言模型作为生成器时,图形翻译器是将非欧几里得图数据转换为兼容 LM 格式的关键。这个转换过程通常会产生两种主要的图形格式:图形语言和图形嵌入。这些格式使语言模型能够有效处理和利用结构化图形信息,增强其生成能力,并在生成过程中实现图形数据的无缝集成。


