+ 我要发布
我发布的 我的标签 发现
浏览器扩展
斑点象@Edge

微软开源 GraphRAG

7月3日,微软重磅开源了基于图的 RAG -- GraphRAG。在 GitHub 上发布后,短短4天时间,该项目迅速获得了 6000 Stars。 Github 地址 ``` https://github.com/microsoft/graphrag ``` 强化主流大模型,比如:GPT-4o、Qwen-2、文心一言、GLM-4、Llama-3 的搜索、问答、摘要及推理等功能,RAG 已成为这些国际国内知名 AI 大模型不可或缺的核心技术。 过往的 RAG 实践多沿袭简约路线:文档简化为文本字符串,切割为零碎段落,继而映射进向量空间,实现语义相似度的直观展现。然而,这种直白策略在面临大规模数据全局理解的挑战时显露短板——它偏重局部文本匹配,忽略了对整体数据生态的全面洞察。 微软在此基础上另辟蹊径,引入“Graph”图技术概念,围绕文本内的实体要素(包括人物、地点、核心概念等)编织庞大知识图谱网络。这一创新不仅深化了大模型对文本内部复杂关联与互动的理解力,还极大提升了其内容生成与信息检索的智慧边界,引领 RAG 迈向更广阔的智能应用领域。 GraphRAG 方法可以归结为:利用大语言模型从您的私有知识中提取知识图谱;将此图谱聚类成不同粒度级别的相关实体;对于 RAG 操作,遍历此知识图谱以得到实体之间的关系,从而为得到最终的答案提供更多全局的关系知识。 Graph RAG 技术的本质,在于实施一个两阶段策略来建立图谱驱动的文本索引体系:首步,从原始文献中挖掘并构建实体的知识图谱;紧接着,针对图谱中高度关联的实体集群,预先制作综合性社区摘要内容。 Graph RAG 的第一步就是将源文档分割成较小的文本块,这些文本块随后被输入到大模型中以提取关键信息。 在这个过程中,大模型不仅要识别文本中的实体,还要识别实体之间的关系,包括它们之间的相互作用和联系,用来构建一个庞大的实体知识图谱,其中包含了数据集中所有重要实体和它们之间的关系。 通俗来讲,这一流程堪比烹饪前的食材准备,以处理西瓜为例:一个完整的大西瓜(原始数据)摆在面前时,我们首先要将其切分成可管理的小块(数据片段),比如瓜瓣或是更小的瓜丁,并留意这些瓜块之间的自然连接点,以便之后无论是混搭果盘还是精制果汁,都能得心应手,处理起来更加高效顺畅。 GraphRAG 采纳了先进的社区检测算法,旨在图谱中精准识别出模块化社区。这些社区由紧密相连的节点构成,它们之间的相互作用相较于图谱其余部分更为频繁和显著,从而自然地将庞大的图谱切割成多个小型、更便于分析和管理的区块,每一区块均聚焦于数据集内的独特主题或概念范畴。 依托于上述图形索引的构建,GraphRAG 进一步深化其分析层次,通过生成社区摘要来概括每个社区内的所有实体及其相互关系。这些摘要作为对特定数据集区域的精炼概览,极大地促进了用户对复杂数据的高层次理解。 为提升信息质量和相关性,GraphRAG 引入了一个大模型评分机制,对所有生成的答案进行0至100分的量化评估。评分过低的答案将被自动剔除,而高分答案则被视为优质候选,依据其得分从高到低进行排序。随后,这些精选的答案被逐步整合至新的上下文窗口中,直至达到预设的词数上限,确保最终呈现的信息既丰富又精炼。 以用户查询“如何进行有效减肥?”为例,GraphRAG 能够智能地利用与减肥主题紧密相关的社区摘要,快速生成多个初步答案片段。这些片段经过系统的汇总与精炼处理,最终融合成一个全面、针对性的回答,直接响应用户的需求。 Graph RAG 显著强化了全局检索能力,尤擅应对大规模数据集,为大模型带来关键助力。 + 拓展上下文视野:克服传统大模型上下文窗口局限,GraphRAG 利用图索引分解文本为小型社区,显著提升模型对长文本的理解与生成能力。 + 全局精准查询:超越传统 RAG 的局部检索限制,GraphRAG 借助社区摘要技术,从全局数据中萃取信息,确保答案的全面与精准。 + 丰富摘要生成:并行生成并汇总社区摘要,GraphRAG 促进大模型跨社区、多角度信息整合,生成更高质、更多元的摘要内容。 + 优化算力与资源:GraphRAG 模块化处理大规模文本,降低算力需求,同时减少 token 使用,高效生成高质量摘要。 + 强化检索与生成协同:结合检索与生成,GraphRAG 提升内容准确性与相关性。 + 深化数据集结构理解:构建知识图谱与社区,GraphRAG 洞悉文本内容及数据集结构。 + 提升复杂问题处理能力:GraphRAG 检索并摘要多社区信息,深化对复杂问题的理解,尤其擅长处理 PDF、Word 文档。 为了验证 GraphRAG 效能,以复杂、意见分歧、信息不全的 VIINA 数据集为试金石,该数据集因新近发生未入大模型训练。微软整合俄乌冲突千余篇英文报道,创建大模型检索专用数据集。因数据量庞大,采用 RAG 技术处理。微软团队率先对传统 RAG 与 GraphRAG 发起探索性查询测试。 查询语句:“Novorossiya 做了什么?” 传统 RAG 没能回答这一问题,因为从插入上下文窗口的源文件来看,没有任何文本片段提及“Novorossiya”,从而导致了这一失败。 相比之下,GraphRAG 能够识别查询中“Novorossiya”实体,助大模型构建图谱,联结原文生成带出处的高质答案。如下图,L大模型断言 Novorossiya 目标某银行,基于图谱中两实体关系,源自原文片段。 为了更大范围评估 GraphRAG 的性能,微软在一个100万 tokens、超复杂结构的数据集上,包含娱乐、播客、商业、体育、技术、医疗等内容,进行了综合测试。 结果表明,GraphRAG 全局检索方法在全面性和多样性上优于传统 RAG,其中 GraphRAG 在播客与新闻数据集上表现卓越,兼具高度多样性与全面性,堪称目前最优秀的 RAG 方案。此外,Grap RAG 对 tokens 需求低,有效降低了开发成本。