2026年7月9日 周四晚上19:30,报名腾讯会议了解“如何构建自进化的动态知识库(Brain)”(限30人)
免费POC, 零成本试错
FDE知识库

FDE知识库

学习大模型的前沿技术与行业落地应用


收藏

GraphRAG全局问答工程化实践

发布日期:2024-12-13 12:11:18 浏览次数: 2897
作者:亚信科技新技术探索

微信搜一搜,关注“亚信科技新技术探索”


GraphRAG作为一种结构化和层次化的增强检索生成方法正逐步展现出其在全局问答工程化实践中的巨大潜力。本文深入探讨了GraphRAG的核心理念和相关技术GraphRAG落地过程中的实践经验进行总结,期望能为关注全局问答效果学者与从业者提供一定


GraphRAG全局问答工程化实践
亚信科技(中国)有限公司
摘要本文对 GraphRAG 落地过程中的挑战展开深入剖析,并针对一系列问题提出相应方案,旨在提升GraphRAG的问答效果,尤其是全局问答效果,进而推动其在知识问答场景中得到广泛应用,为企业打造高效、智能的知识问答系统提供有力支持。

引言

传统RAG(Retrieval-Augmented Generation)通过从文档数据库中检索相关信息来引导生成过程,从而提升内容的准确性和相关性。然而,RAG在实际应用中也存在一些问题和短板,主要包括:


•  检索质量:知识库内容的噪声或文档之间缺乏标准化可能导致检索质量下降。



•  检索效率:在实时应用时,大规模数据集上的高效检索始终是一个亟待解决的难题。



•  上下文理解:对于复杂且需要深入理解背景知识的任务,RAG方式或许表现不佳。



•  结构化数据的检索与融合:RAG通常依赖文本形式的数据,难以直接利用结构化的知识图谱信息。


•  可解释性:生成的内容在可解释性方面存在不足

图1:GraphRAG主要优势


GraphRAG(Graph Retrieval-Augmented Generation)通过整合知识图中的结构化信息来解决RAG的局限性,其主要优势在于:



•  增强检索效率和质量:通过使用图结构来表示知识,能够更高效地检索相关信息;此外,图结构允许模型考虑实体之间的关系,从而提高检索结果的相关性。



•  更好的上下文理解:利用图中的路径和节点属性,可以更好地捕捉长期依赖和上下文信息,有助于模型在多轮对话或处理复杂文档时做出更加合理的决策。



•  有效利用结构化知识:直接利用知识图谱中的结构化信息,能够更好地理解和利用领域知识,生成更加准确和丰富的答案。



•  提高可解释性:可以更容易地追踪生成内容的来源,提高其可解释性。


总的来说,GraphRAG通过结合知识图谱的结构化信息和检索增强生成技术,提供了一种更高级的信息检索方法。


GraphRAG概述

GraphRAG是一种结构化和层次化的方法,用于增强检索生成(RAG)。与传统使用纯文本片段的语义搜索方法不同,GraphRAG将大语言模型生成的知识图谱与先进的图机器学习技术相结合。



具体来说,对于复杂信息,GraphRAG通过实体、关系和属性抽取技术将非结构化文本等重新组织成结构化知识图,使模型能更好地理解和利用信息间的相互关系。应用时,它首先利用大语言模型对领域知识进行知识图谱化,构建可“图查询”的知识图谱数据库,还可将全域知识库分割成多社区模块的知识图谱以及构建多层次知识图谱。


图2:GraphRAG示意图


检索时,GraphRAG会同时对知识向量库和知识图谱数据库进行检索,将检索到的知识图谱信息和知识向量信息集成转化为 “提示词”,再由LLM生成答案。与RAG相比,GraphRAG的 “提示词” 内容更丰富,包含查询信息、相关上下文信息以及从领域知识图谱库中检索到的相关 “知识图谱” 信息,能进一步提升LLM生成答案的准确性和可靠性,弥补了RAG在复杂信息领域的不足。


GraphRAG落地过程中的挑战
RAG 在针对整个文本语料库的全局性问答时表现不佳,例如“数据集的主要主题是什么?”,这本质上是一个聚焦查询的摘要(QFS, Query-Focused Summarization)任务,而非显式的检索任务。而GraphRAG基于文本构建知识图谱,在处理聚焦查询的摘要任务时,利用基于图谱提取的社区和社区摘要,能显著提升全局问答的效果。但是,在实际落地过程中,我们仍会遇到诸多挑战,具体表现为:



•  如何接入本地部署的大模型服务:GraphRAG默认使用OpenAI的大模型服务和嵌入模型服务,在落地过程中,需要使用本地部署的大模型服务和嵌入模型服务,这就需要本地的大模型服务和嵌入模型服务符合OpenAI的接口方式,同时,本地嵌入模型服务还需要考虑常规的输入文本和输入token ids的差别。



•  支持文件类型有限:GraphRAG目前只支持txt和csv格式文本处理,但实际应用场景中,文件格式多种多样,如何兼容更多的文件类型是一个迫切需要解决的问题。



•  大模型提取的实体质量参差不齐:GraphRAG提取实体时,需要指定待提取的实体类型信息,并基于大模型提取指定实体类型的实体数据。然而输入给大模型的实体类型不同,或采用不同的大模型,都可能对最终提取的实体效果产生影响,并进一步影响构建的图谱效果和问答效果。实践中我们发现,大模型提取出的实体类型可能和实体并不匹配,以及实体值和实体类型相同的情况,甚至可能出现提取的实体为空的情况,直接导致无法继续构建图谱。



•  Prompt提示词的中文化和场景优化:当前prompt提示词主要以英文为主,在处理中文文本时,输出的实体,边以及摘要信息通常也是英文的,对于母语为汉语的用户来说,会影响阅读体验,同时,也可能会对GraphRAG后续的中文处理产生不利影响。在不同的应用场景中,往往存在特定的行业术语和专业词汇,对Prompt提示词进行场景优化,可以使其更好地理解和处理这些专业术语,提高在特定领域的回答准确性和专业性。



•  难以判断问题属于全局还是局部问题:当问题中的概念涵盖范围过大且缺乏具体限定词时,或是一些具有多义性的词语在问题中出现时,GraphRAG无法明确是从整个知识图谱还是从局部的子图进行搜索解答。如果问题仅仅是一些孤立的关键词,没有任何相关的背景信息或者上下文关联,GraphRAG也很难判断是全局还是局部问题。

•  所构建图谱的性能问题:在图谱构建阶段,涉及文本的加载与切分。其中,对于每一个切分块,均会调用大模型进行实体和关系的提取;同时,对于检测到的每个社区,也会调用大模型生成社区摘要。因此,倘若文档较大,切分的文本块数量较多,那么大模型服务将会成为构建图谱的瓶颈,严重影响图谱的构建效率。

GraphRAG实践经验分享



GraphRAG整个Pipeline可划分为索引(Indexing)与查询(Query)两个阶段。索引过程利用LLM提取出节点(如实体)、边(如关系)和协变量(如 claim),然后利用社区检测技术对整个知识图谱进行划分,再利用LLM进一步总结。最终针对特定的查询,可以汇总所有与之相关的社区摘要生成一个全局性的答案。

图3:GraphRAG实现方式

•  GraphRAG借助大语言模型处理整个数据集,以提取实体和关系,从而构建起全面的知识图谱的基本要素。


•  GraphRAG运用社区检测算法,识别紧密相关实体的集群,随后系统生成这些实体及其关系的嵌入表示,从而实现高效的语义搜索功能。



•  当有查询接入时,GraphRAG可以执行两类搜索。对于宽泛性的问题,通过使用全局搜索,遍历整个图谱以总结主题和概念。对于具体的查询,则采用局部搜索,提取相关的子图,并结合图结构与原始文本数据以提供详细的且有上下文的答案。



面对GraphRAG落地过程中存在的挑战,我们通过项目实践,总结出一套切实有效的方法,使得RAG问答,特别是全局问答效果显著提升。


(1)适配本地模型服务



为了更好地支持OpenAI接口方式,选择并本地部署合适的大模型服务和嵌入模型服务。比如,通过评估大模型在自然语言处理任务中的准确性和效率,以及嵌入模型在向量表示方面的优劣等,选择适合的本地部署大模型。



此外,鉴于本地嵌入模型服务仅接受文本输入,所以有必要修改GraphRAG 源码。具体做法是把嵌入模型服务的输入由token ids 转换为文本,之后再把文本输入本地嵌入模型服务,以确保成GraphRAG 与本地模型服务的无缝适配。



(2)支持更多文件类型和切分方式



•  增加多种文件类型解析在GraphRAG中,接入当前RAG能力中多种文件类型的解析和切分能力。例如,通过增加对pdf,word,excel,html,markdown等文件类型的加载,从而使GraphRAG能够处理更多类型的文件。



•  提供灵活切分策略GraphRAG提供了灵活的文本切分策略,既可以根据token数量来切割,有助于控制输入到模型中的文本长度,避免过长或过短的文本对模型性能产生不利影响;也可以基于句子结构来进行划分,更符合语言的自然逻辑。为了更好地适应不同文件的特点,在实际应用时需采取多种合适的切分方法。比如,对于某些特定格式的文件,可以采用循环字符切分,适用于具有特定字符模式的文件;按页分割,常用于文档类文件;按行拆解,对于一些以行为单位组织的文件很有效;根据章节目录进行组织,适合结构清晰、有章节划分的文件。通过这些灵活的切分方式,以进一步提升GraphRAG在各种场景下的实用性和有效性。



(3)指定实体类型提取实体



•  取消默认实体类型设置在 GraphRAG 进行文本实体提取时,原本需用户指定实体类型列表,以助力大模型完成实体抽取工作;若用户未指定,则会启用默认实体类型,如 organization(组织)、person(人物)、geo(地理)、event(事件)。然而,默认的实体类型可能并不总是与用户的特定文本内容完全匹配。为解决该问题,取消了默认实体类型的设置,改为让大模型自己根据文本进行实体抽取,并输出对应的实体类型。



•  用户可编辑实体类型允许用户对大模型自动提取的实体类型加以编辑。大模型抽取实体后,用户可以根据自己对文本内容的理解和实际需求,对实体类型进行调整和优化。随后基于用户优化后的实体类型构建图谱,这样可以在一定程度上保障构建的图谱质量,使图谱更符合实际应用场景的需求。



(4)Prompt提示词场景优化



•  提示词汉化及优化在GraphRAG中,实体抽取,关系抽取,摘要生成和问答等操作均借助了大模型进行处理,而这些环节都涉及到提示词工程。首先进行提示词汉化,将默认的英文提示词转换为中文,以便更好地适应中文用户的需求。然后针对应用场景进行优化,根据不同的应用场景特点,调整提示词的内容和表达方式,使GraphRAG能够更好地理解用户的需求,显著提升了GraphRAG在特定应用场景下的效果。例如,在医疗领域应用时,提示词要更侧重于医学术语和相关概念;在金融领域应用时,则要突出金融相关的词汇和逻辑。



•  统一配置管理如图 4,将这些提示词模板整合起来并放置在一个config 文件夹中,以便于对提示词进行修改和更新,并在不同的应用场景中快速切换和使用合适的提示词模板。


图4:统一配置提示词模板


(5)问题属性判断



•  明确问答方式及逻辑在进行GraphRAG问答时,需要用户指定问答方式,即选择全局问答还是局部问答,因为不同的问答方式背后的处理逻辑不同。



•  局部问答逻辑在进行局部问答时,需要提供实体,关系,社区摘要以及文本块,然后根据query通过向量相似方法寻找与之相关的实体,再基于这些相关实体去查找相关边,从而构建local_context。同时,根据上述相关实体,寻找与query相关的社区,构建出community_context。最终final_context包含local_context,community_context,以及相关知识块,将final_context用于构建search_prompt并送入大模型,这样大模型就可以对query进行局部检索问答。



•  全局问答逻辑进行全局问答时,主要以社区摘要信息为依据进行检索,检索过程分为map和reduce两个阶段。在map阶段,根据query对社区摘要提取关键点,在reduce阶段,则基于所有提取出的关键点和query得到最终回答。



•  默认与可选设置由于局部问答和全局问答的检索逻辑存在差异,以明确query属于摘要性的全局问题还是局部问题,对检索结果极为重要。GraphRAG在处理全局问答方面表现出色,同时也具备处理局部问答的能力。因此,默认使用全局方式进行问答,但同时也支持用户根据自己的需求选择使用何种方式进行问答,使得GraphRAG能够更加灵活地适应不同用户的需求。



(6)图谱构建中的性能权衡



GraphRAG 内部会依次对文本块进行实体与边信息的提取,也会逐个为社区生成摘要。在这个过程中,若处理某个文本块或社区时大模型调用出错,内部会捕获异常,这可能致使pipeline执行看似 “成功”,但却未得到预期结果。由此可见,大模型调用服务在图谱构建流程中是极为关键的步骤,需要确保在出现错误时能够及时发现并采取相应措施,避免错误结果对图谱构建质量产生严重影响。



当多个任务并发时,必然会有部分大模型请求处于等待状态。此时,请求的超时时间、最大重试次数等参数决定了大模型调用能否成功。所以,应当依据所选用的大模型情况以及应用场景,确定恰当的大模型请求参数。例如,如果选用的大模型响应速度较快,可以适当缩短超时时间;如果发现大部分请求在首次尝试时就成功了,可以适当减少重试次数;如果经常遇到网络波动,可以增加重试次数。通过合理确定这些参数,在效率和结果之间达成最佳平衡,提高图谱构建的性能。


GraphRAG未来发展展望
随着大模型技术和自然语言处理的不断进步,GraphRAG作为一种结合了知识图谱和检索增强生成技术的方法,在企业全局问答工程化实践中展现出巨大潜力。展望未来,GraphRAG的发展可能会集中在以下几个方向:




图5:生成式AI技术发展曲线


•  多模态融合:在企业实际应用场景中,信息往往是多模态的,包括文本、图像、音频等。未来的GraphRAG系统有望整合图像、视频等多模态数据源,利用跨模态学习技术提取结构化信息,并将其融入到知识图谱中,提供更加丰富和全面的答案。多模态数据的加入不仅能够拓宽信息来源,还能提高问题解答的多样性和准确性。



•  技术融合与创新:GraphRAG 有望与更多先进技术融合。例如,通过引入增量学习机制,使系统能够持续从新数据中学习并更新现有知识图谱,从而保持信息的时效性和准确性。同时,可能会引入更先进的图神经网络架构,增强对知识图谱中复杂关系的理解和处理能力,进一步提升模型性能。



•  可扩展性和性能优化:为了适应大规模企业数据和复杂的应用场景,GraphRAG需要在性能优化和可扩展性方面不断进步,包括提高知识图谱的构建效率,减少模型训练和推理时间,以及能够处理更大规模的知识图谱和更多的用户请求。同时,优化算法和数据结构,提高系统的稳定性和可靠性。


综上所述,GraphRAG的未来发展将是一个多维度、跨领域的进程,它将不断适应新的技术趋势,满足不断变化的市场需求,并为用户提供更加智能、高效和安全的知识问答服务。

53AI,企业落地大模型首选服务商

产品:场景落地咨询+大模型应用平台+行业解决方案

承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

添加专属顾问

回到顶部

加载中...

扫码咨询

扫码登录
登录即表示您同意《53AI网站服务协议》
服务协议

欢迎您使用【53AI 官方网站】(以下简称“本网站”或“我们”)。本《会员服务协议》(以下简称“本协议”)是您(以下简称“会员”或“用户”)与【深圳市博思协创网络科技有限公司】之间关于注册、登录及使用本网站会员服务所订立的法律协议。

在您注册或登录前,请务必审慎阅读、充分理解各条款内容,特别是免除或限制责任的条款、知识产权条款、争议解决条款等。此类条款将以加粗形式提示您注意。 当您通过微信公众号授权、手机验证码验证或其他方式成功登录本网站时,即视为您已完全理解并同意接受本协议的全部内容。

一、 定义

本网站:指由【深圳市博思协创网络科技有限公司】运营的,域名为【53ai.com】的网站及相关移动端页面。

会员服务:指本网站向注册会员提供的知识库文章查阅、内容检索及其他相关增值服务。

知识库内容:指本网站发布的包括但不限于文字、图表、数据、研究报告、行业分析等数字化内容资源。

二、 账号注册与登录

登录方式:本网站支持以下登录方式,您可根据实际情况选择:

微信公众号授权登录:您同意将您的微信OpenID信息授权给本网站,用于创建或关联会员账号。

手机验证码登录:您需提供真实有效的手机号码,并通过短信验证码完成身份验证与登录/注册。

账号安全:您的账号仅限您本人使用,禁止赠与、借用、租用、转让或售卖。因您保管不善导致的账号被盗、密码泄露等损失,由您自行承担。

实名认证:根据相关法律法规要求,我们可能要求您在特定功能下完成实名认证。如您拒绝提供,可能无法使用部分或全部服务。

未成年人保护:若您未满18周岁,请在法定监护人的陪同下阅读本协议,并在征得监护人同意后使用本服务。

三、 服务内容与规范

知识库查阅权限:会员登录后,有权按照其会员等级对应的权限范围,在线浏览、检索本网站知识库中的相关文章及内容。

服务变更:我们有权根据业务发展需要,调整、变更或终止部分服务内容,并将以网站公告、公众号消息等方式提前通知。

禁止行为:您在使用服务时不得实施以下行为:

利用技术手段批量爬取、下载、转存知识库内容;

将知识库内容用于商业目的或未经授权地向第三方传播;

干扰本网站正常运行或侵犯其他用户合法权益;

发布违法违规信息或从事违反公序良俗的活动。

四、 知识产权声明

权利归属:本网站知识库中的排版设计、软件代码等内容的知识产权均归【公司全称】或原权利人所有,受《中华人民共和国著作权法》等法律保护。

有限许可:本网站授予会员一项非独占、不可转让、不可转授权的普通许可,仅限于个人学习、研究之目的在线查阅知识库内容。

侵权追责:未经书面许可,任何单位或个人不得以任何形式复制、转载、摘编、镜像、汇编或以其他方式使用上述内容。一经发现,我们保留追究其法律责任的权利。

五、 个人信息保护

我们重视对您个人信息的保护。关于我们如何收集、使用、存储和保护您的个人信息,请单独阅读 《隐私政策》。

您通过微信公众号授权或手机号验证所提供的信息,我们将严格按照《个人信息保护法》的规定处理,仅用于身份识别、服务提供及安全验证等必要用途。

您可以随时通过网站设置或联系客服行使查阅、更正、删除个人信息及撤回授权同意的权利。

六、 免责声明

内容准确性:知识库内容仅供参考,不构成专业建议。我们不对其完整性、准确性、时效性作任何明示或暗示的保证,您应自行判断并承担使用风险。

不可抗力:因自然灾害、政策法规变化、网络故障、第三方平台接口异常(如微信接口维护、运营商短信通道故障)等不可抗力导致的服务中断或延迟,我们不承担违约责任。

第三方链接:本网站可能包含指向第三方网站的链接,该等网站的内容和服务不受我们控制,请您自行甄别风险。

七、 违约责任

如您违反本协议约定,我们有权视情节采取警告、限制功能、暂停服务、注销账号等措施,并保留要求赔偿损失的权利。

如因您的违约行为导致我们遭受行政处罚、第三方索赔或商誉损失,您应承担全部赔偿责任(包括但不限于罚款、赔偿金、律师费、公证费等)。

八、 法律适用与争议解决

本协议的订立、执行和解释均适用中华人民共和国大陆地区法律。

因本协议产生的或与本协议有关的任何争议,双方应友好协商解决;协商不成的,任何一方均可向【公司所在地】有管辖权的人民法院提起诉讼。

九、 其他

本协议构成双方就本服务达成的完整协议,取代此前任何口头或书面约定。

本协议任一条款被认定为无效或不可执行的,不影响其他条款的效力。

我们对本协议享有最终解释权,并在法律允许的范围内保留随时修改的权利。修改后的协议一经公布即生效,继续使用服务即视为同意修订内容。


已查阅