微软研究院推出了GraphRAG,这是一种先进的方法,旨在提升大语言模型(LLM)从私有数据集中检索和生成响应的能力。该创新方法利用LLM生成的知识图谱,显著改善了传统检索增强生成(RAG)方法的问答性能。
GraphRAG 是一种结构化、分层的方法,用于实现检索增强生成(Retrieval Augmented Generation,简称 RAG),通过使用知识图谱来改进大语言模型(LLM)的输出质量。
GraphRAG能够跨大量信息连接信息,并利用这些连接回答使用关键字和基于向量的搜索机制难以回答的问题。它能够回答跨多个文档的问题,以及主题性问题,例如“数据集中的主要主题是什么?”
通过 LLM 构建知识图谱结合图机器学习,极大增强 LLM 在处理私有数据时的性能,使得系统能够处理全局性的问题,支持对大规模文本语料库的全局性问题回答,并提供更全面和多样的回答。同时 GraphRAG 具备连点成线的跨大型数据集的复杂语义问题推理能力。
与传统的基线 RAG 方法主要依赖于向量相似性搜索不同,GraphRAG 利用知识图谱在处理复杂信息时提供了显著的问答性能改进。
解决了什么问题?
传统RAG方法在处理需要全局理解的大规模文本数据时面临诸多挑战,主要问题包括:
- 局限于局部检索:传统RAG方法依赖于从局部文本块中直接检索信息,难以覆盖整个文本语料库的全局主题。
- 信息丢失:由于LLM的上下文窗口大小有限,直接处理长文本会导致中间信息的丢失。
- 无法处理全局性问题:当用户的问题涉及整个文本语料库的主要主题或全局性信息时,传统RAG方法难以生成全面的回答。
Graph RAG通过以下方式解决这些问题:
- 创建实体知识图:将文本中的关键信息结构化为图形索引,使得信息组织更具层次性和系统性。
- 模块化社区检测:使用社区检测算法将图形索引划分为若干模块化社区,从而能够并行处理和总结相关信息。
- 多阶段摘要生成:通过多个阶段的摘要生成和整合,确保回答的全面性和多样性。
- 复杂信息处理:改善了 LLM 在处理复杂信息时的问答性能,尤其是在需要跨越多个信息片段进行综合分析时。
- 大数据集的整体理解:提高了对大数据集或单一大型文档的整体理解能力。
- 私有数据集的利用:增强了 LLM 在处理未见过的私有数据集(如企业专有研究、商业文件或通信)时的推理能力。
使用 GPT-4 Turbo 从私有数据集构建的LLM生成的知识图
显示了图的示例可视化。每个圆圈代表一个实体(如人、地点或组织),实体的大小表示该实体的关系数,颜色表示相似实体的分组。颜色划分是一种基于图结构的自下而上集群方法,使我们能够在不同抽象级别上回答问题。