GraphRAG 架构设计精髓 与 微软 RAG 传统

  • 电脑网络维修
  • 2024-11-14

在数据激流始终涌来的当天,如何高效且精准地从浩瀚的消息陆地中提炼出有价值的新闻,成为了人造言语处置畛域待处置的关键疑问。传统的检索增强生成(RAG)架构,以其共同的检索与生成联合的形式,在必定水平上满足了这一需求,为消息处置带来了方便。但是,随着运行场景的复杂化,传统RAG在处置全局性、深档次语义消息上的局限性逐渐浮现。

正是在这样的背景下,微软翻新性地推出了GraphRAG(图的检索增强生成)架构,它不只保管了传统RAG架构中的精髓部分——即极速检索与生成高品质照应的才干,更在此基础上引入了常识图谱这一反派性的技术元素。经过精心构建的常识图谱,GraphRAG成功了对消息结构的深度开掘与全局性掌握,使得其在处置复杂语义相关和多主题疑问时展现出史无前例的长处。上方本文将针对 GraphRAG 与 传统 RAG 架构设计区分启动剖析。

一、传统 RAG 架构设计思维

1、 文档编码

传统RAG首先会对输入的文档启动预处置,如分词、去除停用词等。接着,应用人造言语处置(NLP)技术,如词嵌入或Transformer模型,将文档中的每个词或短语转换为高维向量,构成文档的向量示意。

2、 消息检索

在文档编码成功后,RAG架构会应用这些向量在已有的常识库中启动相似度计算,找到与输入文档最相关或最婚配的消息。常识库可以包括预训练的模型、外部数据库、历史问答平等。

3、 融合生成

检索到相关消息后,RAG架构会将这些消息与原始输入文档启动融合。融合的方法可以是经过某种权重机制、留意力机制等,使得原始文档与检索到的消息能够相互补充。最后,基于融合后的消息,RAG架构会生成相应的照应或输入。

二、微软 GraphRAG架构设计思维

1、常识图谱构建

GraphRAG架构的外围在于其常识图谱的构建。 微软应用大型言语模型(LLM)从源文档中提取实体、相关和属性等消息。这些消息被组织成一个结构化的常识图谱,图谱中的节点代表实体,边代表实体之间的相关。

2、社区检测与摘要

在常识图谱构建成功后,GraphRAG会经常使用社区检测算法(如Leiden算法等)来识别图谱中严密相关的实体组(社区)。 每个社区代表一个特定的主题或畛域,GraphRAG会为每个社区生成一个摘要,这个摘要能够概括该社区的重要内容或特点。

3、查问聚焦生成

当用户输入查问时,GraphRAG会依据查问内容在常识图谱中查找相关的社区和摘要。GraphRAG会基于这些相关的社区和摘要生成部分照应,每个照应都针对查问中的某个方面或主题。最后,GraphRAG会将一切相关的部分照应启动汇总和整合,构成一个完整的全局答案。

如上这是论文的一个截图,形容了 Graph RAG 处置流程。

下图展现了一个可视化示例。每个圆圈代表一个实体(例如,一团体、一个地点或一个组织),实体大小示意该实体具备的相关数量,色彩示意相似实体的分组。色彩分区是一种建设在图形结构之上的自下而上的聚类方法,它使咱们能够回答不同形象档次的疑问。

三、微软 GraphRAG 与传统 RAG 架构设计对比剖析

全局性 :传统RAG更并重于部分消息的婚配和融合,而GraphRAG经过常识图谱和社区检测机制能够捕捉全局消息,提供更片面、准确的回答。

结构化示意 :GraphRAG经常使用常识图谱来示意消息,这种结构化的示意形式使得消息愈加明晰、易于了解和推理。而传统RAG则更依赖于向量序列来示意消息,基线 RAG 难以将各个点衔接起来。

性能长处 :GraphRAG的模块化设计使得在索引和查问时能够并行处置多个社区和摘要,提高了处置效率。

四、GraphRAG 系统的方便经常使用示例

环境要求:

Python 3.10-3.12

运转示例:

pip install graphrag# 运转索引器,设置一个数据名目和一些初始性能mkdir p ragtest# 失掉查尔斯·狄更斯的《圣诞颂歌》数据curl httpswwwgutenbergorgcacheepubpg24022txt  ragtestbooktxt# 初始化您的上班区,首先运转命令graphrag.index --initpython m graphragindex init root ragtest# 这将在目录中创立两个文件:.env和。settings.yaml./ragtest# .env蕴含运转 GraphRAG 管道所需的环境变量。假设审核文件,您将看到已定义的单个环境变量。# GRAPHRAG_API_KEY=<API_KEY>这是 OpenAI API 或 Azure OpenAI 端点的 API 密钥。您可以将其交流为您自己的 API 密钥。# settings.yaml蕴含管道的设置。您可以修正此文件以更改管道的设置。# 这里提供了两种形式,以下以 Azure OpenAI 用户应在 settings.yaml 文件中设置以下变量为例 azure_openai_chat api_base httpsinstanceopenaiazurecomapi_version preview deployment_name azure_model_deployment_namepython m graphragindex root ragtest# 运转查问引擎,有两种形式:# 全局搜查提出初级疑问的示例:python m graphragquery \root ragtest \method  \# 本地搜查征询无关特定角色的更详细疑问的示例:python m graphragquery \root ragtest \method local \

总结

微软GraphRAG经过引入常识图谱和社区检测机制,有效处置了传统RAG在处置全局性疑问时的局限性。其结构化示意和并行处置的才干使得GraphRAG在消息检索和生成畛域具备清楚长处。但是,其复杂性和高昂的老本也是须要思考的起因。未来,随着技术的始终提高和优化,GraphRAG有望在更多畛域失掉运行和开展。

开源地址: ​ ​ ​ ​

原文链接:​ ​​ ​

  • 关注微信

本网站的文章部分内容可能来源于网络和网友发布,仅供大家学习与参考,如有侵权,请联系站长进行删除处理,不代表本网站立场,转载联系作者并注明出处:https://duobeib.com/diannaowangluoweixiu/5404.html

猜你喜欢

热门标签

洗手盆如何疏浚梗塞 洗手盆为何梗塞 iPhone提价霸占4G市场等于原价8折 明码箱怎样设置明码锁 苏泊尔电饭锅保修多久 长城画龙G8253YN彩电输入指令画面变暗疑问检修 彩星彩电解除童锁方法大全 三星笔记本培修点上海 液晶显示器花屏培修视频 燃气热水器不热水要素 热水器不上班经常出现3种处置方法 无氟空调跟有氟空调有什么区别 norltz燃气热水器售后电话 大连站和大连北站哪个离周水子机场近 热水器显示屏亮显示温度不加热 铁猫牌保险箱高效开锁技巧 科技助力安保无忧 创维8R80 汽修 a1265和c3182是什么管 为什么电热水器不能即热 标致空调为什么不冷 神舟培修笔记本培修 dell1420内存更新 青岛自来水公司培修热线电话 包头美的洗衣机全国各市售后服务预定热线号码2024年修缮点降级 创维42k08rd更新 空调为什么运转异响 热水器为何会漏水 该如何处置 什么是可以自己处置的 重庆华帝售后电话 波轮洗衣机荡涤价格 鼎新热水器 留意了!不是水平疑问! 马桶产生了这5个现象 方便 极速 邢台空调移机电话上门服务 扬子空调缺点代码e4是什么疑问 宏基4736zG可以装置W11吗 奥克斯空调培修官方 为什么突然空调滴水很多 乐视s40air刷机包 未联络视的提高方向 官网培修 格力空调售后电话 皇明太阳能电话 看尚X55液晶电视进入工厂形式和软件更新方法 燃气热水器缺点代码

热门资讯

关注我们

微信公众号