引言
在企业环境中,单纯使用大语言模型(LLM)往往难以达到理想效果,因为它们缺乏对组织特定领域专有知识的编码。这些私有知识对于信息对话界面的价值萃取至关重要。许多企业尝试通过检索增强生成(RAG)来优化这一过程。然而,随着研究的深入,传统的 RAG 方法逐渐显露出局限性。本文探讨 GraphRAG,这是一种结合知识图谱与图数据库的最新技术,旨在释放 RAG 潜力,增强 LLM 回答复杂问题的准确性和相关性。
什么是 RAG?
RAG(Retrieval-Augmented Generation)是一种自然语言查询方法,用于通过外部知识增强现有的 LLM。当问题需要特定知识时,这种方法能提供更相关的答案。它包含一个检索组件,从外部源获取附加信息(即'基础上下文'),然后将其馈送到 LLM 提示中,以更准确地回答问题。 这是成本最低且最标准的方法。研究表明,RAG 能有效减少 LLM 产生幻觉的倾向,因为模型更倾向于坚持来自上下文的可靠信息。因此,RAG 成为增强生成模型输出的流行方案。 除了问答,RAG 还可用于信息提取、推荐、情感分析和摘要等任务。但基本 RAG 存在表现不佳的情况:
- 难以将关键点联系起来。当回答问题需要通过共享属性遍历不同信息以提供新综合见解时,基本 RAG 效率低下。
- 在全面理解大型数据集甚至单个大型文档的概括语义概念时,基础 RAG 表现不佳。
Graph RAG 原理
GraphRAG 结合了知识图谱和大型语言模型,旨在提高问答系统的能力。微软研究人员提出了 GraphRAG,这是一种通过 AI 生成的知识图谱来增强 AI 驱动问答系统的新方法。该技术要求 LLM 根据私有数据集创建知识图谱,从而改善问答过程。 GraphRAG 利用图神经网络(GNN)结果中的图嵌入来增强文本嵌入,以提高用户查询响应推理的能力。这种方法被称为软提示(Soft-prompting)。此外,GraphRAG 还被用于训练 LLMs 在不直接提供数据的情况下,通过图基数据表示进行学习,使模型能够访问大量结构化知识。
实施流程
要实现用于问答的 Graph RAG,核心在于选择发送给 LLM 的信息。这通常是通过根据用户问题的意图查询数据库完成的。最合适的数据库通常是向量数据库,它通过嵌入捕获连续向量空间中的潜在语义、句法结构和项目之间的关系。丰富的提示包含用户问题以及预先选择的附加信息,确保生成的答案考虑了这些信息。 一个简单的 Graph RAG 实现流程如下:
- 使用 LLM 或其他模型从问题中提取关键实体。
- 根据这些实体检索子图,深入到一定的深度。
- 利用获得的上下文利用 LLM 产生答案。 例如,像 LlamaIndex 这样的 LLM 编排工具,允许开发者专注于 LLM 的编排逻辑和 Pipeline 设计,而无需亲自处理很多细节的抽象与实现。用 LlamaIndex,可以搭建 Graph RAG,甚至整合更复杂的 RAG 逻辑,比如 Graph + Vector RAG。
挑战与注意事项
尽管基本实施很简单,但需考虑一系列挑战和注意事项以确保结果质量:
- 数据质量和相关性:这对 Graph RAG 的有效性至关重要。应考虑如何获取最相关的内容发送给 LLM 以及发送多少内容。
- 动态知识处理:处理动态知识通常很困难,因为需要不断用新数据更新向量索引。根据数据大小,这可能带来效率和可扩展性方面的挑战。
- 透明度:生成结果的透明度对于使系统值得信赖非常重要。有一些工程技术可以用来刺激 LLM 解释答案中包含的信息来源。
Graph RAG 变体
Graph RAG 是对流行 RAG 方法的增强。它包括一个图形数据库,作为发送到 LLM 的上下文信息来源。向 LLM 提供从较大尺寸文档中提取的文本块可能会缺乏必要的上下文、事实正确性和语言准确性,而 LLM 无法深入理解收到的文本块。与发送纯文本文档块不同,Graph RAG 还可以向 LLM 提供结构化实体信息,将实体文本描述与其许多属性和关系相结合,鼓励 LLM 产生更深入的见解。借助 Graph RAG,矢量数据库中的每条记录都可以具有丰富的上下文表示,从而提高特定术语的可理解性。 根据问题的性质、现有知识图中的领域和信息总结,Graph RAG 有几种变体:
- 图形作为内容存储:提取相关的文档块并要求 LLM 使用它们来回答。这种多样性需要一个包含相关文本内容和元数据的知识图谱,并与矢量数据库集成。
- 作为主题专家的图表:实体链提取与自然语言(NL)问题相关的概念和实体的描述,并将其作为附加的'语义上下文'传递给 LLM。理想情况下,描述应包括概念之间的关系。这种多样性需要具有全面概念模型的知识图谱,包括相关本体、分类法或其他实体描述。实现需要或其他机制来识别与问题相关的概念。
- 图形作为数据库:将 NL 问题(部分)映射到图形查询,执行查询并要求 LLM 总结结果。这种多样性需要一个包含相关事实信息的图表。这种模式的实现需要某种 NL 到图查询工具和实体链接。


