一周涨8K star!RAG技术迎来大升级,速度关注

之前我们聊到过RAG,它是目前非常常用的增强大模型能力的技术,通过检索增强生成(RAG),大型语言模型能够从外部知识源检索信息,从而回答涉及私有或未见文档的问题。

今天我们分享一个开源项目,它是RAG技术的最新发展,可以大幅提升当前RAG的能力,它就是:GraphRAG

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

GraphRAG 是什么

GraphRAG是微软开源的一种基于图的检索增强生成 (RAG) 方法,可以对私有或以前未见过的数据集进行问答。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

今年早先微软发表GraphRAG论文"From Local to Global: A Graph RAG Approach to Query-Focused Summarization",论文讨论GraphRAG方法,用于对文本语料库进行问题回答,结合了检索增强生成和图形索引,以提高答案的全面性和多样性,现在对应的开源项目终于来了。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

与传统的 RAG 不同,GraphRAG 方法可以归结为:利用大型语言模型 (LLMs) 从您的来源中提取知识图谱;将此图谱聚类成不同粒度级别的相关实体社区;对于 RAG 操作,遍历所有社区以创建“社区答案”,并进行缩减以创建最终答案。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

GraphRAG 的工作原理

GraphRAG 的架构主要包含两个核心模块:索引器 (Indexer) 和 查询引擎 (Query Engine)。索引器通过对私有数据进行索引创建由 LLM 派生的知识图谱。查询引擎利用预建索引的 LLM ,创建了一个更优的 RAG 流程。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

索引器

索引器负责将非结构化文本数据转化为结构化的知识图谱,并将其存储到数据库中,这些图谱作为 LLM 的记忆表示,可以被后续步骤用于更有效的检索。其主要流程如下:

  1. 文本切分: 将输入的文本数据按照一定的规则切分成多个文本单元 (Text Unit),每个文本单元通常包含一个或多个完整的句子。
  2. 实体和关系抽取: 利用 LLM 从文本单元中抽取实体、关系和关键陈述等信息。例如,从句子 “OpenAI 开发了 ChatGPT” 中,可以抽取出实体 “OpenAI” 和 “ChatGPT”,以及关系 “开发”。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 知识图谱构建: 将抽取出的实体和关系信息构建成图结构的知识图谱,其中节点代表实体,边代表关系。
  2. 社区检测: 利用图算法(例如,层次化 Leiden 技术)对知识图谱进行社区检测,将具有相似语义的实体聚集在一起,形成不同的社区。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 社区概括: 为每个社区生成一个概括性的描述,用于概括该社区的主题和关键信息。
  2. 向量化: 利用 LLM 将实体、关系、社区概括等信息转化为向量表示,用于后续的语义搜索。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 存储: 将构建好的知识图谱、社区信息和向量表示等数据存储到数据库中,供查询引擎使用。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

查询引擎

查询引擎负责接收用户查询,并在知识图谱中检索相关信息,最终生成答案。其主要流程如下:

  1. 查询解析: 将用户查询转化为知识图谱上的查询语句。
  2. 图遍历: 在知识图谱上进行遍历,寻找与查询相关的实体、关系和路径。
  3. 信息整合: 将检索到的信息进行整合,形成 LLM 生成答案的上下文信息。
  4. 答案生成: 利用 LLM 根据上下文信息生成最终的答案。

GraphRAG 的核心优势

GraphRAG 之所以能够克服传统 RAG 的局限性,主要得益于以下几个方面的创新:

  1. 结构化的知识表示: GraphRAG 使用知识图谱来表示信息,将文本数据转化为结构化的图谱形式,其中节点代表实体,边代表实体之间的关系。这种结构化的知识表示方式,使得信息之间的关系更加清晰明确,便于 LLM 进行推理和分析。
  2. 自动化的知识抽取: GraphRAG 利用 LLM 自动从文本数据中抽取实体、关系和关键陈述等信息,无需人工构建知识图谱,大大降低了知识图谱构建的成本和难度。
  3. 层次化的信息组织: GraphRAG 使用层次化的社区结构来组织信息,将具有相似语义的实体聚集在一起,形成不同的社区,并生成社区摘要,帮助用户快速了解每个社区的关键信息。这种层次化的信息组织方式,使得 LLM 能够更好地理解信息的上下文和语义关系。
  4. 灵活的查询方式: GraphRAG 支持全局搜索和本地搜索两种查询模式。全局搜索利用社区摘要推理关于整体性问题,而本地搜索则通过探索邻近概念和相关概念来处理特定实体查询。
  5. 优越的性能表现: GraphRAG 在处理复杂信息和私有数据集方面表现优于传统的 RAG 方法,尤其是在以下情况下: 连接不同的信息片段。 全面理解大型数据集上的汇总语义概念。 从长文档中滤除噪声。 根据用户上下文和查询中捕获的实体对结果进行过滤和提升。

总结

GraphRAG是一个非常好的想法,通过知识图谱和RAG的组合,可以极大提高当前RAG的性能,但其成功取决于 LLM 首先能够更好地提取关系,同时并非所有数据都是或可以以图形结构展示,这样的考虑会产生什么影响,尚待观察。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

如何学习AI大模型?

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

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

在这里插入图片描述

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

在这里插入图片描述

👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

在这里插入图片描述

1.AI大模型学习路线图
2.100套AI大模型商业化落地方案
3.100集大模型视频教程
4.200本大模型PDF书籍
5.LLM面试题合集
6.AI产品经理资源合集

👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/45345.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【MybatisPlus】QueryWapper和LambdaQueryWrapper的区别

【MybatisPlus】QueryWapper和LambdaQueryWrapper的区别 (一)MyBatisPlus的条件查询构造器QueryWrapperLambdaQueryWrapper优缺点使用场景 (二)Lambda的概念(三)QueryWrapper如何进化成LambdaQueryWrapper的…

Python爬虫之路(2):爬天气情况

hello hello~ ,这里是绝命Coding——老白~💖💖 ,欢迎大家点赞🥳🥳关注💥💥收藏🌹🌹🌹 💥个人主页:绝命Coding-CSDN博客 &a…

5G RedCap调查报告

一、5G RedCap技术背景 5G RedCap(Reduced Capability缩写,轻量化5G),是3GPP标准化组织定义下的5G裁剪版本,是5G面向中高速率连接场景的物联网技术,它的能力介于5G NR(含eMBB和uRLLC)和LPWA(如LTE-M和NR-IoT)之间,如图1所示,是5G-A(5G Advanced)的关键技术之一。…

WAV 和 FLAC 哪个音质好?常见音频格式又如何转换?

音频文件的格式种类繁多,每种格式都有其独特的优势和应用场景。其中,WAV 和 FLAC 作为两种常见的无损音频格式,备受音频发烧友和专业人士的青睐。它们不仅能够保留原始录音的全部细节,还为听众提供了近乎 CD 品质的听觉体验。然而…

昇思25天学习打卡营第13天|基于MindNLP+MusicGen生成自己的个性化音乐

关于MindNLP MindNLP是一个依赖昇思MindSpore向上生长的NLP(自然语言处理)框架,旨在利用MindSpore的优势特性,如函数式融合编程、动态图功能、数据处理引擎等,致力于提供高效、易用的NLP解决方案。通过全面拥抱Huggin…

QT实现自定义带有提示信息的透明环形进度条

1. 概述 做界面开发的童鞋可能都会遇到这样的需求,就是有一些界面点击了之后比较耗时的操作,需要界面给出一个环形进度条的进度反馈信息. 如何来实现这样的需求呢,话不多说,上效果 透明进度条 2. 代码实现 waitfeedbackprogressba…

从业务架构到应用架构技术剖析

从业务架构到应用架构 4A架构理论,一个企业级架构框架,将企业架构(EA)划分为四大核心领域,每个领域都聚焦于组织的不同维度。该理论提供了一种结构化的设计和理解企业运作方式的方法,确保技术解决方案能…

用Apipost压力测试接口

用Apipost压力测试接口 1.点击自动化测试 2.选择要测试的接口 3.如果没有接口,就先在api调试中添加要测试的接口 4.根据自己的需求设置相应的参数,这里我压测10次 5.这样就可以压测接口了,非常nice

LayoutLMv1

近年来,预训练技术在各种NLP任务中得到了成功的验证。尽管NLP应用程序广泛使用预训练模型,但它们几乎只关注文本级操作,而忽略了对文档图像理解至关重要的布局和样式信息。在本文中,我们提出了LayoutLM来联合建模文本和布局信息在…

webstorm问题解决:无法识别 @

问题解决tsconfig.json 问题 本地的 vite.config.ts 已经配置 路径 但是,我用webstorm 上识别不了 解决 新增文件tsconfig.json,添加 baseUrl 和 paths 的配置,以告诉 TypeScript 和 WebStorm 如何解析路径别名 tsconfig.json {&quo…

2006-2021年 291个地级市资源错配指数、劳动和资本相对扭曲指数do文件和结果

资源错配指数:衡量生产要素配置效率的关键指标 资源错配指数(Misallocation Index)是一个衡量资源配置效率的指标,它反映了生产要素是否得到了合理配置,以及是否达到了生产效率的最优状态。一个较高的资源错配指数意味…

斐讯N1盒子刷入Armbian并安装Docker拉取网络下行流量教程

一直在跑PCDN,目前主推八米云跟点心云,八米单价比点心更高,业务都一样,直播业务。 两种刷机教程我也发下。 八米云:点此跳转 点心云:点此跳转 最近各运营商对PCDN打击力度加大,需求拉取下行流量…

2024最新修复微信公众号无限回调系统源码下载 免授权开心版

2024最新修复微信公众号无限回调系统源码下载 免授权开心版 微信公众平台回调比较麻烦,还不能多次回调,于是搭建一个多域名回调的源码很有必要。 测试环境:Nginx1.24PHP7.2MySQL5.6 图片:

uiautomator2 多种方式键盘输入

最近做了一个爬虫项目,在向文本框输入的时候,使用了多种方法(包含:send_keys、set_text)等多种方法都无效,最终选择了以下方案得到完美解决。 # 切换输入法 d.set_fastinput_ime(True) op_user_modify d(…

【git】:初识Git 和 Git 的安装

目录 学习 Git 的目标 Git 安装 Linux-centos Linux-ubuntu Windows 学习 Git 的目标 技术目标 掌握 Git 企业级应用,深刻理解Git操作过程与操作原理,理解工作区,暂存区,版本库的含义 掌握 Git 版本管理,自由进⾏…

药监局瑞数后缀补环境教学

声明 本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关! (联系看首页) 前言 之前用…

vue + echart 饼形图

图表配置: import { EChartsOption, graphic } from echarts import rightCircle from /assets/imgs/index/right_circle.png export const pieOption: EChartsOption {title: {text: 100%,subtext: 游客加量,left: 19%,top: 42%,textStyle: {fontSize: 24,color:…

部署大语言模型并对话

在阿里云的https://developer.aliyun.com/adc/scenario/b105013328814fe995c0f091d708d67d 选择函数计算 设置服务器配置 复制公网地址 这个地址不能直接 在返回应用,创建应用LLM 对话页面 Open WebUI 点击下面的创建应用 部署完成后访问域名 打开访问地址

SpringBoot新手快速入门系列教程十:基于Docker Compose,部署一个简单的项目

前述: 本篇教程将略过很多docker下载环境配置的基础步骤,如果您对docker不太熟悉请参考我的上一个教程:SpringBoot新手快速入门系列教程九:基于docker容器,部署一个简单的项目 使用 Docker Compose 支持部署 Docker 项…

SQL优化之深分页

SQL优化之深分页 我们都知道,大型项目中的SQL语句,应该尽量避免深分页。 那么问题就来了: 深分页的性能差在哪?什么方案能避免深分页呢? 什么是深分页 深分页,即SQL查询过程中,使用的页数过…