目前通常流行的AI大模型在存储和检索信息时使用的是一种称为RAG的技术。RAG全称是Retrieval-Augmented Generation,即检索增强生成。它允许AI模型在回答问题时检索相关信息,从而提高回答的准确性。但是传统的RAG技术只能记住片段信息,对于一些复杂的结构化信息就显得力不从心了。
举个例子,假如有一个长文档,目前的RAG技术会将它分成多个块Chunk,每个块是一个基本单位。当用户提出问题时,主要通过向量相似度搜索来找到最相关片段Chunk。比如像这里的最相关的两个Chunk块,然后将这些片段作为额外信息提供给AI模型以生成回答。
但是当需要AI分析获得一个总结性回答,跨越多个章节,包含大量相互关联信息时,非结构化片段化的RAG技术就不够用了,需要的是串联多个地方的结构化信息知识库。

最近微软研究院开发了一种新方法,名为GraphRAG,这是一个基于图的复杂数据发现工具,现在在GraphRAG上开源。GraphRAG的出现为处理结构化数据提供了新的可能性。它使用大型语言模型GraphRAG从任何文本文档集合中自动提取丰富的知识图谱。
知识图谱是一种表示知识的方法,它将概念、原点表示以及之间的关系连接的边以图的形式呈现出来。通过这种方式GraphRAG能够捕捉到文档中的复杂关系和结构。
GraphRAG具体是如何工作的?它的工作流程主要包括三个步骤:
·1.索引构建阶段。想象一下正在整理一座巨大的图书馆,先将每本书分成小章节,然后用一个超级聪明的助手也就是大语言模型来阅读这些章节。这个助手会找出重要的概念、人物和它们之间的关系,就像在绘制一张知识地图。接着会将相似的概念分组,形成不同的知识社区。最后为每个社区写一份总结报告,这样就得到了一个结构化的知识索引。为后续的查询做好了准备。
·第二步是查询映射阶段。当有人提出一个问题时,我们不是去翻阅整个图书馆,而是看看哪些知识社区可能相关。我们会让我们的智能助手LLM快速浏览这些社区的总结,为每个可能相关的社区生成一个初步的回答。
·最后是全局答案生成阶段。这就像是召开一个小型会议,我们把所有相关社区的初步回答放在一起,再让我们的大语言模型LLM整合这些信息,生成一个全面而连贯的最终答案。
这种方法允许GraphRAG处理大规模文本语料库,并回答需要全局理解的问题,这是传统RAG方法难以实现的。通过利用图结构和社区检测,GraphRAG可以有效地组织和汇总大量信息,从而生成全面而相关的答案。
正是因为这种创新,GraphRAG在两类问题上表现优于基本的RAG方法。一是需要连接不同信息点的问题,二是理解大型数据集或文档的整体语义概念的问题。特别是在回答全局问题方面,GraphRAG的表现远超简单的RAG方法。
那么GraphRAG的效果如何?评估结果显示,在全面性和多样性方面,GraphRAG明显优于简单RAG,胜率约为百分之七十到八十。此外,在回答总结性问题时,GraphRAG利用中低层次社区摘要上表现更好,而且token成本更低。这意味着它不仅能提供更高质量的回答,还能以更低的成本运行。
为了让更多人能够使用这项技术,微软还提供了一个解决方案加速器,可以在Azure上轻松部署GraphRAG,这大大降低了使用这项技术的门槛。
总的来说,GraphRAG的出现标志着AI在处理结构化数据方面迈出了重要一步,它不仅能更好地理解和分析复杂的文档结构,还能提供更全面、更有洞察力的回答。当然,GraphRAG技术还在不断发展中,研究人员正在探索降低图索引构建成本的方法,同时保持响应质量,这将使得GraphRAG在解决方案、这将使得GraphRAG在更广泛的应用场景中变得可行。
本期视频就到这里,希望有所帮助,我们下期再见。