2024年GraphRAG代表性工作的调研与总结

知识增强图(KAG)在LLM检索中的应用 KAG 即知识增强图(Knowledge - augmented Graph),它将大语言模型与结构化的知识图谱深度整合,旨在实现专业领域中的逻辑推理和问答功能。KAG 构建于 OpenSPG 引擎之上,这一引擎是创建和管理知识图谱的框架,就如同一张庞大且详尽的信息地图,能够将原始数据转化为有用的知识,支持知识图谱的持续更新和完善,并将大数据与人工智能系统相连接,以解决复杂的实际问题。OpenSPG 的灵活性使其可以根据不同行业和需求进行定制化调整,为 KAG 的强大功能提供了坚实基础。 阅读详情

2024年GraphRAG代表性工作的调研与总结

2024年被誉为“RAG发展元年”,尽管这一称号尚未得到普遍认可,但全年的显著进展无疑为其赋予了充分的理由。在大型语言模型(LLM)广泛应用的背景下,检索增强生成(Retrieval-Augmented Generation,简称RAG)技术始终扮演着不可或缺的重要角色。特别是基于图结构的RAG(GraphRAG),凭借其在知识组织与检索上的独特优势,成为推动智能问答系统和信息处理技术革新的关键力量。下面我将从构建图谱和检索优化两个方面,为大家总结一下2024年GraphRAG的相关工作。

构建图谱

今年在GraphRAG领域最火的词莫过于“Hierarchical”,也就是所谓的知识分层。

图1:生物学上的知识分层

在我们的日常生活中,知识的组织往往是基于其抽象程度的不同而划分出不同的层次。比如生物学家在对各类生物的分类上会划分“界门纲目科属种”如图一所示,下层是具体的动物名称,向上具有相同特征的动物被概括成一个种类,再向上动物们又会被概括成更抽象的知识“属”…

这种知识分层的思想在今年被应用在了GraphRAG的构图领域,为系统带来了前所未有的灵活性和高效性。通过将知识图谱(Knowledge Graph, KG)按照不同的层次进行组织,GraphRAG能够更精准地匹配用户的查询需求,无论是需要综合总结的宏观问题,还是需要具体细节的微观问题,都能快速定位到相应的知识层次,提供精准的回答。

一、知识分层的开山

知识分层的概念最早在今年二月由RAPTOR(Recursive Abstractive Processing for Tree-Organized Retrieval)引入到RAG领域,因为现有的RAG方法仅从检索语料库中提取短而连续的文本片段。这种方式限制了对整个文档上下文的全面理解,无法有效整合长篇文档中的信息。RAPTOR 首先把文本内容预聚类,接着利用 LLM 对聚类后的文本生成摘要,形成一个多层次的树形索引。

图2:RAPTOR树结构知识分层

这些摘要数据连同原始文本一起被送到搜索系统。由于这些摘要数据提供了对文本更加宏观的理解,因此对一些意图不明的提问,还有需要跨 Chunk 的多跳提问,都可以产生合适的回答。

二、知识分层在GraphRAG上的应用

看到知识分层在Naive RAG上取得了如此显著的效果,我们很容易想到这个思想可以应用到GraphRAG上,因为图结构天然就存在可以分层的特性,层次图的概念已经应用到了计算机的各个领域中,并且在知识图谱上有着比树复杂多倍的关系类型和知识种类。采用知识分层的思想也一定能够提升GraphRAG的生成质量。

也就是在两个月之后,也就是今年的四月微软发表论文《From Local to Global: A Graph RAG Approach to Query-Focused Summarization》并开源GraphRAG框架(为了避免名字冲突,我们之后称为Microsoft GraphRAG).标志着知识分层首次应用在GraphRAG领域。

图3:Microsoft GraphRAG建图和推理流程

Microsoft GrapRAG采用Leiden算法高效地检测图的层次社区结构,每层社区划分互斥且覆盖所有节点,支持不同粒度的社区划分。对于每个社区,系统生成相应的摘要文本。对于细粒度的叶级社区,按照边的分数降序排列,将相关描述、和边信息依次加入LLM的上下文窗口,生成社区总结;对于高层级社区,则进行粗粒度的总结,以此类推形成层次图。

在检索和生成阶段,用户需要指定检索层次,之后Microsoft Graph会调用大模型对这一层的所有摘要进行打分,把分数高的摘要与用户问题进行结合,喂入大模型生成答案。

三、知识分层带来的问题和解决方案的探索

尽管知识分层为GraphRAG带来了诸多好处,但是它依然不适合我们在生活中去使用

首先我们都不像微软公司一样财大气粗,构建多层次的知识图谱需要大量的时间和资源,尤其是在处理大规模数据时,建图成本显著增加。其次是有很高的推理延迟,大模型平行打分导致检索和推理过程中的延迟增加,影响系统的响应速度。第三是在问答上还不够灵活,需要用户手动指定检索的社区层次。而且这种用大模型总结出的文本描述不适用于相关专业领域。

为了克服知识分层在GraphRAG应用中带来的这些挑战,研究者们在2024年陆续提出了多种创新解决方案,旨在降低建图成本、减少推理延迟并提升系统的灵活性。

首先是今年7月香港大学推出的LightRAG,正如它的名字一样它可以认为是Microsoft GrapRAG的轻量化。只实现了一个双层的图结构。但是在每一层中都做了向量化,避免了GraphRAG的社区遍历。在保证生成质量的同时,提高了建图和检索的效率。

图4:LightRAG建图和推理流程

在今年的12月微软同样不甘示弱,连续推出了两个轻量化版本,Fast GraphRAG和Lazy GraphRAG。Fast GraphRAG 同样利用 LLM 抽取实体和关系,这点跟微软的 GraphRAG 并没有什么不同,但它省掉了“社区”及其摘要的生成,降低了对 LLM 请求的频率。在检索时, Fast GraphRAG 根据查询在知识图谱上找到最接近的实体,然后采用个性化 PageRank 在知识图谱上随机游走,获取子图,然后依靠子图生成最终答案。LazyGraphRAG采用了一系列简化的技术方法来优化知识的检索和生成过程。首先,在数据索引阶段,系统利用NLP技术提取名词短语,识别关键概念及其关联,构建初步的知识图谱。接着,通过图统计优化,对这些概念进行精细化处理,形成层次化的社区结构,帮助快速找到相关信息。

为了使大模型构造的三元组更适用于专业领域,在今年四月蚂蚁的OpenSPG最新版发布,它通过提前定义一些适用于专业领域的schema来指导大模型对实体的提取入下图所示。这样在相关专业领域大模型对实体的属性提取的更加精确。

图5:OpenSPG设定schema样例

四、国产GraphRAG的突破KAG

在这一年里,各大 GraphRAG 系统可谓争奇斗艳,无论是微软的 GraphRAG、LazyGraphRAG,还是轻量化的 Fast GraphRAG,都在知识检索与生成领域不断推陈出新。而就在这一片热闹中,我们终于在今年 12 月等到了国产化的 GraphRAG 突破——KAG

KAG的发布,是蚂蚁团队常年对知识图谱领域深耕的结果,从OpenKG到OpenSPG再到KAG,我们国产化的GraphRAG也一步步走到了舞台中央。

在KAG的论文中,首次提出了知识分层的概念,它把我们的知识比作金字塔,下层的知识完整具体,上层的知识简单抽象。并且指出回答不同的问题,我们需要的知识的层级是不同的。这像是对这一整年GraphRAG发展的总结,也同时为之后的发展指明了方向。

图6:KAG定义的知识金字塔结构

在建图方法上,KAG 并未沿用以往工作中通过构造多层图社区的方法,而是基于其自主开发的 OpenSPG 框架,在实体顶点内部实现知识的分层(如图左侧所示)。这种分层方式对每个实体类型(如“人”或其他预定义属性)进行细化,确保实体内部的知识能够被更有效地组织和管理。

与此同时,图右侧展示了一个概念图,它可以类比 Microsoft GraphRAG 中的图社区结构,但 KAG 将概念进一步系统化,通过概念将实体中的信息逐步抽象,从而实现多层次的知识表示。每个概念类型(如“人的概念分类”)通过树形结构关联到具体的概念节点,而每个节点都对应一个独特的概念类型类。

KAG 更加侧重于知识图谱的完整性和可解释性,为了追求垂直领域的专业性,其建图过程融合了人工维护和领域专家知识元素。这种方式不仅解决了以往图社区结构可能带来的层次冗余问题,还强化了知识表达的准确性,使其在垂直领域的应用中表现尤为出色。

在 KAG 的建图体系中,实体和概念的表示还包含了多种类型的属性和关系,具体包括:

领域专家预设部分:由领域专家预先定义的核心属性和关系。

临时添加内容:动态扩展的属性和关系,用于适应知识的实时更新需求。

系统预设属性:如支持块(supporting_chunks)、描述(description)、摘要(summary)和归属(belongTo)等。

对于每个实例,系统还提供以下功能:

支持块(supporting_chunks):指包含该实例的所有相关文本块,块的生成策略和长度由用户定义。

描述(description):为每个实例提供通用的描述信息,帮助大型语言模型(LLM)更好地理解特定实例或类型的意义,广泛应用于信息提取、实体识别和摘要生成。

摘要(summary):通过对实例或关系的上下文信息进行概要提炼,便于快速理解。

归属(belongTo):建立实例与概念类型之间的语义归属关系,使实体类型或事件类型能够与概念类型自然关联。

KAG 的这一创新性建图方式充分利用了实体和概念的分层结构,将实体内部的细化分层与概念图的逐级抽象相结合,不仅优化了知识的组织方式,还为复杂语义推理提供了强有力的支持。KAG 的这一设计标志着国产 GraphRAG 系统在知识建模上的重大突破,兼顾了高效性与灵活性,为垂直领域的知识处理和问答系统提供了更加精准和专业的解决方案。

图7:KAG的知识表示方式样例

五、知识分层总结

至此,2024年的知识分层大戏落下帷幕。从Microsoft GraphRAG 到国产化的 KAG,知识分层成为推动GraphRAG领域发展的关键思路。一年的研究和应用充分展示了知识分层在提升知识检索效率、优化系统性能以及适应复杂语义关系方面的巨大潜力。

尽管知识分层在今年取得了诸多成果,但目前的解决方案仍存在一些显著的不足,主要包括以下几个方面:

1.建图成本问题:

当前的知识分层方法在构建和维护多层次知识图谱时,依然需要较高的资源和时间投入,特别是面对大规模数据集时,建图成本成为应用推广的瓶颈。

2.推理延迟问题:

多层次分层结构带来的复杂性增加了推理路径的长度,使得检索和推理的延迟较高,特别是在实时问答和动态数据处理场景中,用户体验受到影响。

3.系统灵活性不足:

当前的知识分层方法在问答场景中的灵活性依然较差。例如,某些系统需要用户手动指定知识层次或社区,而非根据问题动态适配检索路径。在建图上有时还需要人工设定不同的模式融合人工维护和领域专家知识,这些都难以满足用户日常使用需求。

4.知识分层的标准化缺失:

各系统在分层方法、抽象层级和知识表示上存在差异,尚未形成统一的分层标准。这种缺乏标准化的现状增加了系统之间的互操作难度。

检索优化

在过去的一年里,我们见证了各大厂商在建图方法上的激烈探索。从微软的 GraphRAG 到国产 KAG,无一不在追求更高质量、更高效率的知识图谱构建。然而,这些顶尖系统的背后,往往需要投入大量的时间、人力和财力。高质量图谱的构建不仅“烧钱”,还“废人”,对于资源有限的高校研究团队或小规模开发团队来说,往往难以承担这种高昂的成本。因此,今年在 GraphRAG 领域,我们也看到了许多团队聚焦于检索优化,试图在不依赖过于复杂的建图方法的前提下,通过更高效的检索策略来提升系统的整体性能。接下来,我将分为“无参数检索器”,“GNN检索器”,“大模型检索器”三个板块为大家介绍2024年检索优化的工作。

一、无参数检索器

无参数检索器基于启发式规则或传统图搜索算法,不依赖深度学习模型,因而具有高效性和低成本的特点,除了多跳路径和最短路径这些传统的图算法,今年最值得讨论的工作是新国立在今年五月发表的G-Retriever。

图8:G-Retriever整体流程

G-Retriever 提出了基于经典 Prize-Collecting Steiner Tree (PCST) 算法的改进方法。通过引入边的价格模型,G-Retriever能够更精准地优化相关子图的提取。

二、GNN检索器

GNN 检索器利用图神经网络强大的图结构建模能力,对复杂知识图谱中的节点和边进行深度编码和语义分析,从而在高效检索与深度语义理解之间取得了良好的平衡。相较于无参数检索器基于启发式规则的传统方法,GNN 检索器显得更加智能化,能够根据查询动态生成精确的子图或路径。

但是GNN检索器有它自己一个致命的缺点,就是需要借助于用户数据进行额外训练,例如借助于客户已有的问答数据对知识图谱中的命名实体产生更好的 Graph Embedding 表示,这些工作涉及到很高的定制化成本,对于普通用户来说并不能应用到日常使用。

图9:GNN-RAG整体流程

今年GNN检索器最经典的一篇工作是GNN-RAG,它是一种结合图神经网络的检索增强生成模型。它首先对整个知识图谱进行编码,为每个节点生成高维嵌入向量。在检索阶段,系统根据查询计算每个节点与查询的相似性得分(similarity score),并将得分高于阈值的节点视为与查询相关的实体节点。最后将得分高的实体节点到查询实体节点的最短路径结合用户问题喂入大模型。

三、大模型检索器

大模型检索器(LM-based Retriever)利用大型语言模型(LLMs)强大的自然语言理解能力,根据用户提出的问题对知识图谱的检索过程提供指导。这类方法充分发挥了大模型在自然语言语义分析和推理方面的优势,能够动态生成推理路径,为复杂查询提供高效的解决方案。这类方法有一个和GNN检索器类似的缺点,那就是需要用用户的数据对大模型进行微调。

图10:REASONING ON GRAPHS训练和推理流程

比如今年ICLR的一篇工作REASONING ON GRAPHS,它用知识图谱中的知识和特定的生成关系路径的任务去微调大模型,在推理时大模型会根据用户问题生成推理路径,再根据推理路径生成回答。

这类检索器虽然很好的运用了大模型的生成能力,但是前期的微调任务依然使它不能够很好的为用户所用。

总结

2024年无疑是GraphRAG领域充满突破与变革的一年。从知识分层的提出到检索优化的不断探索,我们见证了从Microsoft GraphRAG到国产KAG的技术跃迁,也看到了各类方法在灵活性、效率和可解释性上的不断迭代。今年的研究不仅让GraphRAG的应用更加广泛,同时也揭示了其发展过程中的不足和挑战。

知识分层作为今年最重要的研究方向,不仅赋予了知识图谱更强的组织能力,也显著提升了检索的精度和生成质量。然而,建图成本高、推理延迟以及系统灵活性不足的问题,依然是知识分层技术需要面对的重要挑战。而针对这些问题,从轻量化的LightRAG到Fast GraphRAG、Lazy GraphRAG,再到国产的KAG,各类创新方法在建图和推理效率上取得了显著的进展,充分展现了不同团队的技术智慧与实际应用能力。

与此同时,检索优化的探索为GraphRAG的实际应用提供了更多可能性。从高效的无参数检索器到强大的GNN检索器,再到语义理解能力卓越的大模型检索器,每一种方法都在特定的场景中发挥了重要作用。尽管无参数检索器因其高效性和低成本仍占据一席之地,但GNN检索器和大模型检索器则通过深度学习和语义推理能力,为复杂多跳问题和动态场景提供了更强的支持。然而,这些方法对用户数据的依赖和微调的高成本,也使它们的广泛应用面临一定的瓶颈。

今年的知识分层思想为今后GraphRAG发展指明了方向,但是分层之后如何进行更快,更准,更灵活的检索依然是今后需要研究的内容。此外减少构建知识库的时间和成本也是今后GraphRAG能够普及的重要一环。

在检索器的优化方向上,为了真正实现广泛适用的检索系统,未来的检索器设计应更加关注其通用性,能够在不同领域和任务中自适应地提供高质量的检索结果,而无需依赖领域特定的微调。

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范
  • …

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署
  • …

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建
  • …

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案
  • …

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

在这里插入图片描述

从零掌握AI Agent:学习路线、框架选型与实战避坑 大模型应用正在从单纯的对话交互走向自主执行任务的智能体形态。AI Agent以LLM为核心决策引擎,通过任务拆解、工具调用与环境反馈形成闭环,其底层原理涉及ReAct推理与行动交替、Function Calling等关键机制。理解这些基础概念,是评估框架选型与工程落地的第一步。在实际应用中,企业知识库问答、表格处理、UI自动化等场景已经展现出明显价值,而LangChain、Dify、Spring AI等工具链则加速了原型验证。随着多模态交互与记忆机制持续演进,Agent的可控性与可观测性正成为量产关键。这里 阅读详情

相关推荐

【实测闭坑】LazyGraphRAG利用本地ollama提供Embedding model服务和火山引擎的deepseek API构建本地知识库

这个模块的核心功能是通过自然语言处理技术从文本中提取名词短语,构建名词图,并计算节点之间的关系强度。它使用了并行处理和缓存机制来提高性能,并提供了边权重标准化的选项。我首先测试了LazyGraphRAG利用本地ollama提供Embedding model服务和火山引擎的deepseek API构建本地知识库。网上很多教程都是很老的,说利用ollama需要改源码,目前的版本是不需要改任何源码的,直接设置好配置文件即可。主要原因deepseek-V3也不是很友好啊,我没钱prompt 微调啊,晕死。

AI人工智能的学习之路 1090

GraphRAG + Ollama 本地部署全攻略:避坑实战指南

▼最近直播超级多,预约保你有收获—1—为什么要对 GraphRAG 本地部署?微软开源 GraphRAG 后,热度越来越高,目前 GraphRAG 只支持 OpenAI 的闭源大模型,导致部署后使用范围大大受限,本文通过 GraphRAG 源码的修改,来支持更广泛的 Embedding 模型和开源大模型,从而使得 GraphRAG 的更容易上手使用。如果对 GrapRAG 还不太熟悉的同学,可以看...

musicml的博客 8923

贝塞尔曲线在机器人路径平滑中的实战应用与优化

本文深入探讨了贝塞尔曲线算法在机器人路径平滑中的核心应用。通过对比G1CBS与G2CBS两种方法,详细阐述了如何实现从切线连续到曲率连续的平滑优化,以满足不同机器人对运动平稳性和效率的需求,并提供了完整的Python代码实现与关键参数调优指南。

weixin_29051811的博客 296

微软重磅开源 GraphRAG:新一代 RAG 技术来了!

▼最近直播超级多,预约保你有收获今晚直播:《RAG/Dify 构建企业案例实战》—1—为什么需要 GraphRAG?7月3日,微软重磅开源了基于图的 RAG -- GraphRAG。在 GitHub 上发布后,短短4天时间,该项目迅速获得了 6000 Stars!足见这个项目的热度!Github 地址:https://github.com/microsoft/graphrag强化主流大模型,比...

musicml的博客 1万+

OpenCV图像去畸变实战指南:从原理到参数调优(附完整代码与效果对比)

本文深入解析了OpenCV图像去畸变的原理与实战技巧,详细对比了标准透视、鱼眼及全能型omnidir三种校正函数的核心参数调优方法。通过分析alpha、balance、centerX/Y及focalScale四大参数对输出效果的影响,并结合完整代码与效果对比图,帮助开发者精准校正镜头畸变,提升计算机视觉任务精度。

weixin_29046611的博客 330

python使用TensorRT报错,多线程或多进程中使用问题

python使用TensorRT报错,Cuda Runtime问题

qq_44224801的博客 746

微软LazyGraphRAG:新一代超低成本RAG

AI大模型作为人工智能领域的重要技术突破,正成为推动各行各业创新和转型的关键力量。抓住AI大模型的风口,掌握AI大模型的知识和技能将变得越来越重要。学习AI大模型是一个系统的过程,需要从基础开始,逐步深入到更高级的技术。这里给大家精心整理了一份全面的AI大模型学习资源,包括:AI大模型全套学习路线图(从入门到实战)、精品AI大模型学习书籍手册、视频教程、实战学习、面试题等,资料免费分享!

Androiddddd的博客 1512

别再怕DRIVER_VERIFIER_DMA_VIOLATION蓝屏:手把手教你用WinDbg分析IOMMU与驱动冲突

本文深入解析DRIVER_VERIFIER_DMA_VIOLATION蓝屏错误,从IOMMU原理到实战排错,手把手教你使用WinDbg分析驱动冲突。通过理解DMA与IOMMU的核心机制、搭建分析环境、解读DMAR表与设备拓扑,最终定位问题驱动并提供解决方案,帮助开发者和IT运维人员有效应对此类系统崩溃问题。

weixin_30298497的博客 793

【2024年GraphRAG调研】代表性工作的全面总结与分析!

2024年GraphRAG代表性工作的调研与总结2024年被誉为“RAG发展元年”,尽管这一称号尚未得到普遍认可,但全年的显著进展无疑为其赋予了充分的理由。在大型语言模型(LLM)广泛应用的背景下,检索增强生成(Retrieval-Augmented Generation,简称RAG)技术始终扮演着不可或缺的重要角色。特别是基于图结构的RAG(GraphRAG),凭借其在知识组织与检索上的独特优势,成为推动智能问答系统和信息处理技术革新的关键力量。

2401_84494441的博客 1515

WRF替换静态地理数据中的土地利用数据(WRF替换下垫面数据)

   在进行自己的WRF项目模拟的时候,因为需要用中国土地利用数据替换WRF内嵌老旧的土地利用数据,故需要将土地利用进行替换。我使用的中国的土地利用数据是来自中国土地利用数据(1980-2015)。其中我以下载的lucc1980为例进行演示。 1、坐标转换    (1)下载的lucc1980数据如下图所示:    (2)在ArcMap中打开如下图所示: 打开属性表可以看到,lucc1980的坐标系为投影坐标系Krasovsky_1940_Albers,数据格式为GRID。这里需要将投影坐标系转换成地理坐

GIS 1万+

山景BP10_128DBG开发板ADC_Key驱动

最近在学习山景BP10_128DBG开发板,想使用开发板上的按键。看了看原理图和之前用过的按键好像有点不一样。常见的按键都是判断IO口是否被拉低或拉高来判断按键是否被按下。山景BP10_128DBG开发板上的按键是ADC按键,每个按键按下之后ADC的采样值是不同的,通过ADC采样回来的值进而判断哪个按键按下。这种方式核心思想就是用一个ADC通道来节约IO口,对于IO紧张的芯片是一个不错的解决思路。

weixin_56646002的博客 1304

Awesome-GraphRAG开源项目大全:10个最佳GraphRAG实现方案

**GraphRAG**(基于图的检索增强生成)正在彻底改变AI领域,为传统RAG技术带来了革命性的突破。Awesome-GraphRAG项目汇集了最全面的GraphRAG资源,包括研究论文、基准测试和开源实现。本文将为您介绍10个最佳的GraphRAG实现方案,帮助您快速掌握这一前沿技术。 ## 📊 什么是GraphRAG?传统RAG vs GraphRAG对比 GraphRAG是一种创新

gitblog_00929的博客 595

Zabbix安装与部署 系统环境:centos7.0

Zabbix安装与部署 系统环境:centos7.0

weixin_42485027的博客 2594

(88页)知识图谱增强大模型GraphRAG 2025年最新调研综述 - 密歇根大学、Adobe、Meta、亚马逊等

摘要检索增强生成(RAG)是一种强大的技术,通过从外部来源检索额外信息(如知识、技能和工具)来增强下游任务的执行。图谱由于其固有的“由边连接的节点”特性,编码了海量的异构和关系信息,使其成为RAG在巨大现实世界应用中的黄金资源。因此,我们最近见证了越来越多的关注点在于将图谱配备给RAG,即GraphRAG。然而,与传统的RAG不同,后者可以在神经嵌入空间中统一设计检索器、生成器和外部数据源,图谱结构数据的独特性(如格式多样化和领域特定的关系知识)在为不同领域设计GraphRAG时带来了独特且重大的挑战。

xiaoganbuaiuk的博客 1672

CDD数据库文件制作(二)——DTC配置

1.DTC库 2.新建DTC DTC相关介绍:https://blog.csdn.net/LOVE135149/article/details/122565443 ① 选择DTC数据库 ② 点击新建DTC ③ DTC参数编辑 3.将DTC库中的DTC加载到Variant中 找到Fault Memory的DTC Table,鼠标放在DTC Table区域,右键点击选择Copy … Reference from Available DTCs…,即可将DTC库中的故障码加载至Variant中。 虽然选择Co

LOVE135149的博客 1万+

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

2025年最新调研综述(88页)——知识图谱增强大模型GraphRAG【密歇根大学、Adobe、Meta、亚马逊等】

摘要检索增强生成(RAG)是一种强大的技术,通过从外部来源检索额外信息(如知识、技能和工具)来增强下游任务的执行。图谱由于其固有的“由边连接的节点”特性,编码了海量的异构和关系信息,使其成为RAG在巨大现实世界应用中的黄金资源。因此,我们最近见证了越来越多的关注点在于将图谱配备给RAG,即GraphRAG。然而,与传统的RAG不同,后者可以在神经嵌入空间中统一设计检索器、生成器和外部数据源,图谱结构数据的独特性(如格式多样化和领域特定的关系知识)在为不同领域设计GraphRAG时带来了独特且重大的挑战。

qkh1234567的博客 1722

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

A Review on Retrieval-Augmented Generation: Architectures, Research Challenges, and Emerging Frontie

摘要 检索增强生成(RAG)通过集成外部知识检索来增强大语言模型(LLM)的能力,提升生成内容的依据性和时效性。相比传统LLM,RAG能显著改善事实准确性,但其效果高度依赖检索质量,且仍存在幻觉问题。近年来,Fusion-in-Decoder、Atlas等架构在检索精度和跨领域泛化方面取得进展,但关键挑战依然存在:检索噪声传播、领域自适应能力弱、延迟高,以及缺乏统一评估框架。本文聚焦RAG架构中检索设计与生成模型的耦合关系,分析代表性架构的演进,并探讨GraphRAG、Agentic RAG等新兴方向。文章

PLANTTHESON的博客 512

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

【AI Agent】2026年9月 AI Agent 全栈开发最新技术面试宝典(含高频+必背+大厂真题)

本文整理了2026年AI Agent全栈开发最新技术面试题,涵盖基础概念、核心框架和系统设计等关键领域。重点解析了AI Agent与普通Chatbot的本质区别(自主闭环执行能力)、Agentic Loop的完整工作流程(规划-执行-观察-评估循环),以及ReAct范式的原理与适用场景。特别强调面试回答技巧:需结合工程实践中的典型问题、处理方案和量化指标,而非简单背诵定义。内容来自字节、阿里等大厂真实面经,适合3-5年经验开发者准备春招面试,突出考察候选人在复杂场景下的技术决策能力。

小江的记录本 4574

RAG(一):Agentic RAG、AUTO-RAG、ChunkRAG、FastRAG、Graph RAG、HtmlRAG

概述、Agentic RAG:类型、实现、其他;AUTO-RAG、ChunkRAG、FastRAG:架构、Graph RAG、HtmlRAG。

lonelymanontheway的博客 1328

GraphRAG与RAG对决:深度比较与全面解析

检索增强生成(Retrieval-Augmented Generation,简称 RAG)是一种旨在提升大型语言模型(Large Language Models,LLMs)性能的技术方法。其核心思想是通过整合外部可靠知识库的信息来增强模型的输出质量。RAG 的工作原理可以概括如下:当 LLM 接收到查询时,它不仅依赖于自身的预训练知识,还会主动从指定的知识源检索相关信息。这种方法确保了生成的输出能够参考大量上下文丰富的数据,并得到最新、最相关可用信息的支持。

Everly_的博客 1218

1000倍成本压缩!适用于所有场景的低成本解决方案,微软开源超强LazyGraphRAG及使用教程

检索增强生成领域的突破性进步微软在今年7月开源了GraphRAG,这是一个基于图的检索增强生成(Retrieval-Augmented Generation, RAG)系统。在短短4个多月的时间里,它在GitHub上获得了超过19000颗星,成为目前最火的RAG框架之一。

Python_cocola的博客 2034

GraphRAG,LazyGraphRAG与RAG

GraphRAG(Graph Retrieval-Augmented Generation)是一种将知识图谱与检索增强生成相结合的方法。它在传统 RAG 的基础上,引入了图结构和社区检测等方法,以提高对复杂数据的理解和生成能力。GraphRAG 利用大型语言模型从非结构化文本中提取实体、关系和摘要,构建知识图谱,然后利用图结构进行高效的检索和问答。实体(Entity)是在文本中具有独特意义的对象、概念或事物。它们是构建知识图谱的基本单位。如历史人物、作者、角色等。例如:“爱因斯坦”、“哈利·波特”。

m0_65555479的博客 2902

从GraphRAG到LazyGraphRAG | 什么是 GraphRAG?GraphRAG 中 Parquet 文件的深入解析

GraphRAG(Graph Retrieval-Augmented Generation)是一种将知识图谱与检索增强生成相结合的方法。它利用大型语言模型从非结构化文本中提取实体、关系和摘要,构建知识图谱,然后利用图结构进行高效的检索和问答。通过利用 LLM 和知识图谱,GraphRAG 能够在构建全面的索引和回答复杂问题方面表现出色。生成的 Parquet 文件为后续的数据处理和分析提供了良好的基础。

m0_56255097的博客 1274

微软将推出LazyGraphRAG,索引成本降低至GraphRAG的千分之一!|抢先解读

尽管GraphRAG在0.4版本中作了一定的升级,包括可以进行文档知识的增量抽取,以及新的DRIFT查询模式,一定程度的降低使用成本,提高查询质量,但问题并没有得到根本优化。今日凌晨,微软宣布将推出 GraphRAG 的全新迭代版本。

m0_59235699的博客 1315

PyTorch强化学习——PyTorch基础详解

我们将使用 PyTorch 作为实现强化学习算法的数值计算库。PyTorch 是 Facebook 开发的科学计算和机器学习库,张量 (Tensor) 是 PyTorch 中的核心数据结构,类似于 NumPy 中的 ndarray。

AAI666666的博客 2221
上一篇: 2025年值得入坑AI Agent的五大框架
下一篇: 剑桥大学最新187页博士论文揭秘:强化学习如何借助深度记忆突破可观察局限!
Python_金钱豹
博客等级 码龄5年 1万+粉丝 2812原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值