免费邮件服务器-tftp服务器软件-微软开源GraphRAG:极大增强大模型问答、摘要、推理

7月3日,微软在官网开源了根据图的RAG(检索增强生成)——GraphRAG。
为了增强大模型的查找、问答、摘要、推理等才能,RAG已经成为GPT-4、Qwen-2、文心一言、讯飞星火、Gemini等国内外知名大模型标配功用。
传统的RAG体系在处理外部数据源时,只是简略地将文档转换为文本,将其分割为片段,然后嵌入到向量空间中,使得相似的语义对应附近的位置。
但这种办法在处理需求大局了解的海量数据查询时存在约束,由于它过度依靠局部文本片段的检索,无法捕捉到整个数据集的全貌。
所以,微软在RAG基础之上经过“Graph”图的办法,(免费邮件服务器)例如,文本中的实体,人物、地址、概念等,构建了超大的常识图谱,协助大模型更好地捕捉文本中的杂乱联络和交互,来增强其生成、检索等才能。
(tftp服务器软件)开源地址:https://github.com/microsoft/graphrag?tab=readme-ov-file
图片
Graph RAG架构简略介绍
Graph RAG的核心是经过两阶段构建根据图谱的文本索引:首要,从源文档中衍生出实体常识图谱;然后,针对一切紧密相关的实体群组预生成社区摘要。
所以,Graph RAG的第一步就是将源文档分割成较小的文本块,这些文本块随后被输入到大模型中以提取关键信息。
图片
在这个进程中,大模型不只要识别文本中的实体,还要识别实体之间的联络,包括它们之间的相互作用和联络,用来构建一个庞大的实体常识图谱,其中包括了数据会集一切重要实体和它们之间的联络。
简略来说,这个进程就像杀鸡相同,当一整只鸡(数据)拿上来后,我们就要把它分解成腿、翅膀、胸肉等更细微的组成部分,一起会关注这些部位之间的联络便利后续的处理。
图片
接着,Graph RAG运用社区检测算法来识别图谱中的模块化社区。这些社区由相关的节点组成,它们之间的联络比与图中其他部分的联络更为紧密。经过这种办法,整个图谱被划分为更小、更易于办理的单元,每个单元都代表了数据会集的一个特定主题或概念。
在根据图的索引之上,Graph RAG进一步生成社区摘要。这些摘要是对社区内一切实体和联络的总结,它们提供了对数据会集特定部分的高层次了解。
然后要求大模型对每个答案进行打分,分数在0—100之间,得分过低的将被过滤掉,高分则留下。将剩下的中心答案依照得分凹凸排序,逐渐添加至新的上下文窗口中,直至词数约束。
例如,当用户发问“如何进行有用瘦身时?”,体系会使用与问题相关的社区摘要来生成部分答案。这些部分答案随后被汇总并精粹,以形成终究答案。
Graph RAG对大模型的好处
与传统RAG相比,Graph RAG的大局检索才能十分强,所以很擅长处理大规模数据集,以下是对大模型的首要协助。
扩展上下文了解才能:通常大模型受限于其上下文窗口的巨细,这约束了它们了解和生成根据长文本的才能。Graph RAG经过构建根据图的索引,将整个文本调集分解成更小、更易于办理的社区模块,从而扩展了模型的了解和生成才能。
增强大局查询:传统的RAG办法在处理大局数据的查询时体现欠安,由于依靠于局部文本片段的检索。Graph RAG经过生成社区摘要,使得模型能够从整个数据会集提取相关信息,生成愈加全面和精确的答案。
进步摘要的质量和多样性:Graph RAG办法经过并行生成社区摘要,然后汇总这些摘要来生成终究答案,能协助大模型从不同的视点和社区中提取信息,从而生成更丰富的摘要。
图片
优化算力、资源使用率:在处理大规模文本数据集时,资源的有用使用至关重要。Graph RAG经过模块化处理,减少了对算力资源的需求。与传统的全文摘要办法相比,Graph RAG在生成高质量摘要的一起,显著降低了对token的需求。
提高信息检索和生成的协同:Graph RAG办法经过结合检索增强和生成任务,实现了两者之间的协同作业,进步了生成内容的精确性和相关性。
增强了对数据集结构的了解:经过构建常识图谱和社区结构,Graph RAG不只协助模型了解文本内容,还能了解数据集的内涵结构。
进步对杂乱问题的处理才能:在处理需求多步骤推理或多文档信息整合的杂乱问题时,Graph RAG能够经过检索和摘要不同社区的信息,提高对问题更深层次的了解。尤其是在解读PDF、Word等文档时十分有用。
为了评价Graph RAG的性能,微软在一个100万tokens、超杂乱结构的数据集上,包括文娱、播客、商业、体育、技术、医疗等内容,进行了综合测试。
图片
结果显现,大局检索办法在全面性和多样性测试上,超越了Naive RAG等办法。特别是,Graph RAG办法在播客转录和新闻文章数据集上都显现出了超高的水准,多样性也十分全面,是目前最佳的RAG办法之一。
一起Graph RAG对tokens的需求很低,也就是说能够协助开发者节省大量本钱。