当前位置: 首页 > news >正文

GraphRAG与RAG的区别和原理简介

第一章 图谱与向量的共生逻辑

1.1 知识载体的局限性

向量空间模型虽能高效捕捉文本语义相似性,却无法解析知识的深层关联。例如,当用户询问“特斯拉4680电池与续航里程的关系”,向量检索可能仅返回技术参数片段,而无法解释化学成分、生产工艺与实际性能的因果链。

知识图谱以实体-关系-属性的三元组形式存储结构化知识,但传统图谱依赖人工标注,难以应对动态知识更新。微软GraphRAG通过LLM自动生成动态知识图谱,将两者优势融合:

  • 向量:快速定位文本片段
  • 图谱:构建知识网络,推理隐含关系
1.2 GraphRAG的创新点

其核心是符号推理层生成层的双向交互:

  1. 知识图谱构建:LLM分析文本生成三元组(如“锂离子电池 → 由 → 石墨负极”)
  2. 图遍历检索:根据用户查询意图,沿图谱路径提取相关节点
  3. 语境增强生成:将图谱路径转化为自然语言解释
1.3 技术突破与数据验证

微软在GitHub开源的GraphRAG代码库,4天内获得6000星,当前已达2.3万星。实测数据显示:

任务类型GraphRAG传统RAG提升幅度
多跳推理82%58%41%
矛盾检测91%67%36%
长文本摘要78%62%26%

第二章 竞品对比与技术演进

2.1 算法框架对比

LightRAG(香港大学,2024)

  • 优势:双层检索机制可同时提取具体事实与抽象概念,在农业数据集(428本教材)中准确率比GraphRAG高12%
  • 局限:依赖预定义领域本体,需人工调整图谱结构

SAC-KG(中科大,2024)

  • 突破:利用LLM自动生成领域知识图谱,准确率达89.32%,实现“一键生成百万级图谱”
  • 场景:医疗领域中,SAC-KG构建的药物相互作用图谱使错误率降低34%
2.2 工程化实践

蚂蚁集团KAG框架

  • 垂直领域适配:在支付宝“支小宝”中,政务问答准确率提升至91%,医疗指标解读达90%以上
  • 技术架构:基于OpenSPG升级,结合自研图数据库TuGraph-DB,实现毫秒级知识检索

美团大脑案例

  • 实体规模:覆盖数十亿实体,数百亿三元组
  • 应用价值:通过分析用户评论中的“口感”“配送时间”等属性,优化餐厅推荐算法
2.3 数据集与基准测试
数据集名称实体量关系类型应用场景
Data Commons2500亿2.5万亿全球统计指标
阿里AliOpenKG18亿2681电商商品属性
UltraDomain500万18多领域学术研究

 

第三章 技术落地场景

3.1 智能推荐系统

虾皮电商的属性图谱

  • 构建逻辑:商品分类树 → 属性项(材质、品牌) → 属性值(纯棉、丝绸)
  • 效果提升:T恤类目搜索点击率提升27%,用户停留时长增加41%
3.2 风控与矛盾检测

金融领域应用

  • 案例:通过分析“借款人 → 关联企业 → 担保人”关系链,识别隐藏的担保圈风险
  • 数据:某银行使用GraphRAG后,可疑交易识别准确率从68%提升至89%
3.3 跨模态知识融合

多模态图谱

  • 技术:将文本、图像、视频中的实体关联(如“蒙娜丽莎 → 作者达芬奇 → 油画技法”)
  • 场景:艺术教育平台通过图谱路径生成解说词,用户理解效率提升35%

第四章 技术挑战与未来方向

4.1 当前瓶颈
  • 动态更新成本:每新增10万条知识需人工校验300小时
  • 多语言支持:非英语语种实体链接准确率低于70%
4.2 创新方向
  • 联邦图谱:蚂蚁链与Data Commons合作,探索跨机构知识共享
  • 轻量化部署:港大团队将LightRAG模型压缩至4MB,实现在手机端运行
4.3 产业趋势
  • 知识即服务(KaaS):亚马逊AWS推出图谱增强推理API,按查询量计费
  • 监管合规:欧盟要求金融图谱必须通过GDPR合规性验证

第五章 用户视角的技术叙事

5.1 普通用户的体验

当用户在支小宝询问“个人所得税退税条件”,GraphRAG框架会:

  1. 从知识图谱提取“收入类型→免税项目→申报时限”路径
  2. 生成符合政策的分步说明
  3. 自动标注“2024年新政策”等时效性标签
5.2 开发者的实践

某医疗AI团队使用SAC-KG构建药物副作用图谱:

# 自动化抽取三元组  
def extract_relations(text):  prompt = f"从以下文本中提取药物-副作用关系:{text}"  response = LLM.generate(prompt)  return parse_triples(response)  # 结果示例  
# 药物A → 可能导致 → 心律不齐  
# 药物B → 与 → 药物A → 存在相互作用  
5.3 技术哲学思考

GraphRAG的诞生标志着AI从“文本理解”迈向“知识理解”:

  • 向量:感知层,捕捉表面语义
  • 图谱:认知层,构建知识网络
  • LLM:表达层,将知识转化为语言

写在最后

GraphRAG不仅是技术方案,更是人类知识组织方式的革命。当知识从离散的向量点进化为可推理的图谱网络,AI将真正具备“举一反三”的认知能力。正如美团大脑覆盖的数十亿实体所证明的——知识的互联密度,决定智能的进化速度。

相关文章:

GraphRAG与RAG的区别和原理简介

第一章 图谱与向量的共生逻辑 1.1 知识载体的局限性 向量空间模型虽能高效捕捉文本语义相似性,却无法解析知识的深层关联。例如,当用户询问“特斯拉4680电池与续航里程的关系”,向量检索可能仅返回技术参数片段,而无法解释化学成…...

vue2技术练习-开发了一个宠物相关的前端静态商城网站-宠物商城网站

为了尽快学习掌握相关的前端技术,最近又实用 vue2做了一个宠物行业的前端静态网站商城。还是先给大家看一下相关的网站效果: 所以大家如果想快速的学习或者掌握一门编程语言,最好的方案就是通过学习了基础编程知识后,就开始利用…...

[每周一更]-(第140期):sync.Pool 使用详解:性能优化的利器

文章目录 一、什么是 sync.Pool?二、sync.Pool 的基本作用三、sync.Pool 的主要方法四、sync.Pool 的内部工作原理五、sync.Pool 适用场景六、使用示例示例 1:基本使用输出示例:示例 2:并发使用 七、一个基于 sync.Pool 的 **Benc…...

Prompt-Tuning 提示词微调

1. Hard Prompt 定义: Hard prompt 是一种更为具体和明确的提示,要求模型按照给定的信息生成精确的结果,通常用于需要模型提供准确答案的任务. 原理: Prompt Tuning原理如下图所示:冻结主模型全部参数,在…...

sqli-labs之Less-7 GET注入写shell

验证注入点:单引号报错,)) 根据提示,是想让我们试试写shell 第一个条件 secure_file_priv 写shell即MySQL需要对外写文件,但默认MySQL是不允许outfile来导出数据的,先动手在MySQL确认一下。 MySQL特性,se…...

数据库基础-B+树

查询类型 全表扫描,不提供索引,扫描所有集合中的数据。根据指定key值查询指定点范围查询,在指定区间内查询 有很多方法能够进行快速扫面数据,但是再快复杂度也是O(N),我们的目标是想办法将查询复杂度降低到O(logN)。…...

智能语音备忘录:SpeechRecognition与gTTS的奇妙融合

引言:智能语音备忘录的时代已经到来 在这个信息爆炸的时代,我们每天需要处理大量的事务和信息。传统的文字记录方式虽然可靠,但在效率上往往难以满足快节奏生活的需求。想象一下,如果你能在驾车、散步或是灵感突现的任何时刻&…...

C++项目 —— 基于多设计模式下的同步异步日志系统(3)(日志器类)

C项目 —— 基于多设计模式下的同步&异步日志系统(3)(日志器类) 整体思想设计日志消息的构造C语言式的不定参函数的作用函数的具体实现逻辑1. 日志等级检查2. 初始化可变参数列表3. 格式化日志消息4. 释放参数列表5. 序列化和…...

2025/4/19 数据库的流程控制函数

单行函数_流程函数 要点: 流程处理函数可以根据不同的条件 执行不同的处理流程 可以在SQL语句中实现不同的条件选择,MySQL中的流程处理函数主要包括if() ifnull() 和 case() 函数 多行函数_聚合函数 和单行函数的区别: 单行函数是作用在每一行 最终结果可能是多行结果 多行…...

代码随想录打家劫舍+树形DP入门

动态规划part07 198.打家劫舍 视频讲解:https://www.bilibili.com/video/BV1Te411N7SX https://programmercarl.com/0198.%E6%89%93%E5%AE%B6%E5%8A%AB%E8%88%8D.html dp数组:进入房屋i能够偷得得最大金额dp[i]递推公式:根据不相邻原则…...

Http基础

目录 定义 一、请求部分(Request) 1. 请求行(Request Line) 常见请求方法: 2. 请求头(Request Headers) 3. 请求体(Request Body) 二、响应部分(Respo…...

【Unity】bug记录——部分物体突然不受animator控制

博主烘焙完灯光后突然发现有的物体的动画失效了,不会动,测试发现是因为勾了static(但是有些勾了static的物体就没事),修改static为Contribute GI Static(只针对光照静态)就行...

Zephyr、FreeRTOS、RT-Thread 邮箱(Mailbox)对比分析

一、核心特性对比 特性ZephyrFreeRTOSRT-Thread消息类型支持指针或4字节数据(依赖架构)仅支持指针传递支持任意数据类型(需指定消息长度)容量固定容量(静态初始化配置)动态容量(基于队列长度&a…...

xilinx fpga中pll与mmcm的区别

Xilinx中的PLL(锁相环)和MMCM(混合模式时钟管理器)都是用于时钟管理的关键组件,但它们之间存在一些显著的区别。以下是对两者的详细比较: 1. 功能特性 PLL(锁相环): 主…...

Python语法系列博客 · 第8期[特殊字符] Lambda函数与高阶函数:函数式编程初体验

上一期小练习解答(第7期回顾) ✅ 练习1:找出1~100中能被3或5整除的数 result [x for x in range(1, 101) if x % 3 0 or x % 5 0]✅ 练习2:生成字符串长度字典 words ["apple", "banana", "grape…...

黑马商城(五)微服务保护和分布式事务

一、雪崩问题 二、雪崩-解决方案&#xff08;服务保护方案&#xff09; 请求限流&#xff1a; 线程隔离&#xff1a; 服务熔断&#xff1a; 服务保护组件&#xff1a; 三、Sentinel 引入依赖&#xff1a; <!--sentinel--> <dependency><groupId>com.aliba…...

Java 编译与反编译深度解析

Java 编译与反编译深度解析 1. 编译过程详解 (1) 完整编译流程 .java 文件 → 词法分析 → 语法分析 → 语义分析 → 字节码生成 → .class 文件│ │ │ │↓ ↓ ↓ ↓识别关键字 生成抽象语法树 类型…...

Java集合框架中的List、Map、Set详解

在Java开发中&#xff0c;集合框架是处理数据时不可或缺的工具之一。今天&#xff0c;我们来深入了解一下Java集合框架中的List、Map和Set&#xff0c;并探讨它们的常见方法操作。 目录 一、List集合 1.1 List集合介绍 1.2 List集合的常见方法 添加元素 获取元素 修改元素…...

国产的 Java Solon v3.2.0 发布(央企信创的优选)

Solon 框架&#xff01; Solon 是新一代&#xff0c;Java 企业级应用开发框架。从零开始构建&#xff08;No Java-EE&#xff09;&#xff0c;有灵活的接口规范与开放生态。采用商用友好的 Apache 2.0 开源协议&#xff0c;是“杭州无耳科技有限公司”开源的根级项目&#xff…...

机器学习决策树

一、何为决策树 决策树&#xff08;Decision Tree&#xff09;是一种分类和回归方法&#xff0c;是基于各种情况发生的所需条件构成决策树&#xff0c;以实现期望最大化的一种图解法。由于这种决策分支画成图形很像一棵树的枝干&#xff0c;故称决策树。它的运行机制非常通俗易…...

Java集合及面试题学习

知识来源沉默王二、小林coding、javaguide 1、ArrayList list.add("66") list.get(2) list.remove(1) list.set(1,"55") List<String> listnew ArrayList<>(); 底层是动态数组 添加元素流程&#xff1a;判断是否扩容&#xf…...

【内置函数】84个Python内置函数全整理

Python 内置函数全集&#xff08;完整分类 参数详解 示例&#xff09; 文章目录 Python 内置函数全集&#xff08;完整分类 参数详解 示例&#xff09;一、数值与数学函数abs(x)divmod(a, b)pow(x, y, modNone)round(number[, ndigits])sum(iterable, /, start0)hash(obj) …...

【LeetCode 热题 100】双指针 系列

&#x1f4c1;283. 移动零 对于该题目&#xff0c;需要注意的是两个地方&#xff0c;一是保持非零元素的相对顺序&#xff0c;以及O(1)的空间复杂度。 采用双指针的思路&#xff0c;将数组划分成3个区间,。 [0 , left]&#xff1a;该区间内元素全是非零元素。 [left1 , right…...

实现批量图片文字识别(python+flask+EasyOCR)

话不多说,向上效果图 1)先说框架版本 为什么要先说框架版本呢,因为我在各种版本中尝试了两天,总算确定了如下版本适合我,至于其他的版本,各位自己去尝试 python 3.9.7 EasyOCR 1.7.2 flask 3.0.3 2)执行操作效果图 2.1)多选文件 2.2)图片预览 2.3)提取选中文件 2.4)提取所有文…...

[Swift]pod install成功后运行项目报错问题error: Sandbox: bash(84760) deny(1)

操作&#xff1a; platform :ios, 14.0target ZKMKAPP do# Comment the next line if you dont want to use dynamic frameworksuse_frameworks!# Pods for ZKMKAPPpod Moyaend pod install成功后运行报错 报错&#xff1a; error: Sandbox: bash(84760) deny(1) file-writ…...

文档内容提取以及合成

如何从10个左右的docx文档中抽取内容&#xff0c;生成新的文档&#xff0c;抽取内容包括源文档的文字内容、图片、表格、公式等&#xff0c;以及目标文档的样式排版、字体、格式&#xff0c;还有目标文档的语言风格、用词规范、文法习惯等等。这是一个相当复杂的需求&#xff0…...

[Windows] Wireshark 网络抓包工具 v4.4.6

[Windows] Wireshark 网络抓包工具 链接&#xff1a;https://pan.xunlei.com/s/VOODTZ7Lm2gsNLoFNcOIqflzA1?pwdf3ea# 软件说明Wireshark&#xff08;前称Ethereal&#xff09;是一款免费开源的网络嗅探抓包东西&#xff0c;世界上最流行的网络协议剖析器&#xff01;网络封…...

在Ubuntu中安装hadoop的详细过程

在Ubuntu中安装hadoop的详细过程 请自行安装Ubuntu系统&#xff08;可参考&#xff1a;在VMWare中安装Linux虚拟机Ubuntu&#xff09; 一、创建hadoop用户 如果在安装 Ubuntu 的时候不是用的 “hadoop” 用户&#xff0c;这时需要增加一个名为 hadoop 的用户。 首先打开终端…...

NOIP2017提高组.列队

目录 *数据结构模板题目算法标签: 模拟, 线段树, 线段树动态开点, 树状数组, 平衡树思路*前置代码完整注释代码精简注释代码 *数据结构模板 题目 530. 列队 算法标签: 模拟, 线段树, 线段树动态开点, 树状数组, 平衡树 思路 首先考虑简单情况, 如果只有一行, 删除一个位置…...

PSN港服跳过生日找回密码(需要英语对话,需要注册的id)

登陆这个网站 https://www.playstation.com/en-hk/support/contact-us/?categoryAcc&subCategorypw 随便输入点名字 firstname 跟lastname 勾选&#xff0c;然后打开机器人聊天 然后按照提示输入邮箱跟id&#xff0c;输入正确之后会分配真人客服 真人客服会要求提供第一次…...

服务治理-服务注册

一个服务在真实项目部署的时候&#xff0c;如果压力较大&#xff0c;会做多实例部署。 在IDEA里面做多实例部署的话&#xff0c;只需要配置多个启动项。...

Jinja2模板引擎SSTI漏洞

1. 引入 再研究大模型相关应用的漏洞CVE-2025-25362时&#xff08;参考1&#xff09;&#xff0c;看到作者给了比较详细的分析&#xff08;参考2&#xff09;。下面对这个漏洞做个介绍。 2. 漏洞类型 这个漏洞属于CWE-1336&#xff0c;它主要关注在使用模板引擎进行脚本化处…...

STM32单片机教程:从零开始打造智能天气时钟

STM32单片机教程&#xff1a;从零开始打造智能天气时钟 大家好&#xff01;今天我想为大家详细介绍一下我们的STM32课程&#xff0c;以及如何从零基础逐步掌握单片机开发技能&#xff0c;最终实现一个完整的智能天气时钟项目。 课程面向人群 本课程主要面向那些已经通过野火…...

c++_csp-j算法 (1)

DFS搜索(深度优先搜索) 讲解 第一部分&#xff1a;DFS搜索算法简介 深度优先搜索&#xff08;Depth-First Search&#xff0c;DFS&#xff09;是一种常用的图搜索算法&#xff0c;用于遍历或搜索图或树的所有节点。DFS算法的核心思想是尽可能深地搜索图的分支&#xff0c;直…...

word选中所有的表格——宏

Sub 选中所有表格()Dim aTable As TableApplication.ScreenUpdating FalseActiveDocument.DeleteAllEditableRanges wdEditorEveryoneFor Each aTable In ActiveDocument.TablesaTable.Range.Editors.Add wdEditorEveryoneNextActiveDocument.SelectAllEditableRanges wdEdito…...

16、堆基础知识点和priority_queue的模拟实现

一、priority_queue的使用方法 priority_queue的使用方法看这篇文章 二、堆 1、介绍 堆&#xff08;Heap&#xff09;是一种特殊的完全二叉树数据结构&#xff0c;满足以下性质&#xff1a; 堆序性质&#xff08;Heap Property&#xff09;&#xff1a; 大顶堆&#xff08…...

20250419将405的机芯由4LANE的LVDS OUT配置为8LANE的步骤

20250419将405的机芯由4LANE的LVDS OUT配置为8LANE的步骤 2025/4/19 15:38 查询格式YUV/RGB 81 09 04 24 60 FF 90 50 00 00 FF 查询辨率帧率 81 09 04 24 72 FF 90 50 01 03 FF 查询LVDS mode : Singel output/Dual output 81 09 04 24 74 FF 90 50 00 00 FF 配置405的机…...

【信息系统项目管理师】高分论文:论信息系统项目的采购管理(信息化办公系统)

更多内容请见: 备考信息系统项目管理师-专栏介绍和目录 文章目录 论文1、规划采购管理2、实施采购3、管理采购论文 随着信息化技术的发展,从企业到政府,传统的办公模式正在悄然消失,信息化办公模式正成为主流。特别是国务院印发的《关于加快推广“互联网+政务服务”工作的…...

国产GPU生态现状评估:从寒武纪到壁仞的编程适配挑战

近年来&#xff0c;国产GPU厂商在硬件性能上持续突破&#xff0c;但软件生态的构建仍面临严峻挑战。本文以寒武纪、壁仞等代表性企业为例&#xff0c;对比分析其与CUDA生态的兼容性差异&#xff0c;并探讨技术突围路径。 一、编程适配的核心挑战 ‌编程模型差异与开发成本‌ …...

Linux(autoDL云服务器)mamba-ssm环境安装——一次成功!

1.创建环境选择torch2.0&#xff0c; cuda11.8&#xff0c;python3.8 2.从GitHub官网下载cp38对应的&#xff0c;causl_conv1d&#xff0c;和mamba-ssm2.2.2。下载入下图所示。 3.直接用finalshell 或者xshell连接服务器上传&#xff0c;到根目录下面。 直接用pip install *…...

手搓LeNet-5(基础模型)实现交通标志识别

手搓LeNet-5&#xff08;基础模型&#xff09;实现交通标志识别 一、环境准备1. 安装Python环境2. 安装CUDA&#xff08;可选&#xff0c;仅需GPU加速时&#xff09;3. 配置虚拟环境4. 安装PyTorch核心库5. 安装辅助库6. 验证安装7. 准备数据集8.常见问题处理 二、 数据集处理三…...

TV主板的拆解学习

下面是小米的电视机主板&#xff0c;电源采用PFCLLC方案&#xff0c;主控采用电视盒子主控采用晶晨半导体T962-H&#xff0c;搭配2G南亚DDR3L内存和8G三星eMMC存储器。 本文用来加深对TV主板的认识&#xff0c;学习于充电头网&#xff0c;链接在文末。 两颗蓝色插件Y电容来自S…...

PH热榜 | 2025-04-19

1. Omakase.ai Voice 标语&#xff1a;你的语音驱动销售助手。一个链接。 介绍&#xff1a;Omakase.ai Voice将您的网站转变为一个语音驱动的销售助手&#xff0c;它可以在客户浏览时进行对话、倾听并给出推荐。聊天机器人往往效果不佳——它们无法实现销售&#xff0c;而这个…...

LeetCode(Hot.2)—— 49.字符异位词分组题解

Problem: 49. 字母异位词分组 字母异位词的定义是&#xff1a;两个单词的字母组成一样&#xff0c;但顺序可以不同&#xff0c;比如 eat、tea 和 ate 就是一个组的。 思路 将每个字符串按字母排序&#xff0c;把排序后的字符串作为 key&#xff0c;相同 key 的放在一个 list 中…...

UE学习记录part19

231 insect: insect enemy type 创建dead动画资源 往insect head上添加socket 创建攻击root motion动画。motion warping需要与root motion合作使用 为buff_blue创建物理资产 设置simulate physic使sinsect死亡后能落到地板上而不是漂浮在空中&#xff0c;要将die函数设置为 -…...

不连续数据区间天数累计sql

计算不连续数据区间天数并且剔除重复天数 create table loan_data(loan_no varchar(10),cust_no varchar(10),start_date date,end_date date )INSERT INTO loan_data VALUES (LN001, CUST001, 2025-01-04, 2025-01-08); INSERT INTO loan_data VALUES (LN002, CUST001, 2025-…...

django基于爬虫的网络新闻分析系统的设计与实现(源码+lw+部署文档+讲解),源码可白嫖!

摘要 本网络新闻分析系统采用B/S架构&#xff0c;数据库是MySQL&#xff0c;网站的搭建与开发采用了先进的Python进行编写&#xff0c;使用了Django框架。该系统从两个对象&#xff1a;由管理员和用户来对系统进行设计构建。前台主要功能包括&#xff1a;用户注册、登录、浏览…...

JAVA文件I/O

目录 一、三种路径的分类&#xff1a; 1、绝对路径&#xff1a; 2、相对路径&#xff1a; 3、基准目录&#xff1a; 二、文件的种类&#xff1a; 三、利用JAVA操作文件&#xff1a; 1、File类的构造方法&#xff1a; 2、File 类方法的使用&#xff1a; 使用例子&#…...

第七周作业

一、分别在前端和后端使用联合注入实现“库名-表名-字段名-数据”的注入过程&#xff0c;写清楚注入步骤 1、爆库 后端sql语句&#xff1a;select database(); 前端&#xff1a;1 order by 1#&#xff0c;1 order by 2#&#xff0c;1 order by 3# 判断显示位为两位1 union sel…...

Linux 进程信号详解

进程信号 信号是进程之间事件异步通知的一种方式&#xff0c;属于软中断。 kill -l //查看不同信号代表的事件 执行kill -l 可以看到共有62种信号&#xff0c;其中&#xff1a; 0-31号信号为非可靠信号&#xff08;这部分信号借鉴于UNIX系统的信号&#xff09;&#xff1b;…...