为了弥补大模型能力的不足,催生了RAG技术,开源也好,闭源的也罢,有很多相关产品了。
近日,微软在GitHub上正式开源了自家的RAG产品:GraphRAG
短短两日,已经在github上收获了3.1k星!
GraphRAG是什么?
GraphRAG全称为Graph-based Retrieval Augmented Generation是一种结合了知识图谱和检索增强生成(RAG)技术的新方法。
传统的RAG技术通过从外部知识库中检索相关信息,增强生成模型的输出质量。而GraphRAG则进一步引入了知识图谱,将信息以节点和边的形式存储,提供更丰富的上下文和关系信息,从而提升生成效果。
GraphRAG实现原理
GraphRAG的核心在于其两阶段构建过程:
首先,GraphRAG会从源文档中识别出实体(如人物、地点、概念等),并构建它们之间的关系网络,形成庞大的知识图谱。这个过程就像我们拆解一只鸡,将其分解成腿、翅膀、胸肉等部分,并了解它们之间的连接关系。
接下来,GraphRAG使用社区检测算法,将知识图谱中的节点划分为不同的区域,每个社区代表一个特定的主题或概念。然后,针对每个社区,GraphRAG会生成一个摘要,这个摘要是对区域内所有实体和关系的总结,提供了对数据集的高层次理解。
GraphRAG的优势
相比于传统的RAG技术,GraphRAG在多个方面展现出了显著的优势:
GraphRAG通过构建知识图谱,能够捕捉到整个数据集的全貌,而不仅仅是局部文本片段。这使得它在处理大规模数据集时,能够生成更加全面和准确的答案。
提高摘要质量和多样性:GraphRAG通过并行生成社区摘要,并汇总这些摘要来生成最终答案,能够从不同的角度和社区中提取信息,生成更丰富的摘要。
地址:
https://github.com/microsoft/graphrag