AbutionGraph-时序/向量/图谱数据库的一体化GraphRAG实现方案介绍,利用图向量&向量图谱存储,可以轻松地保存向量和文本/摘要并自动完成合并更新,实现一键相似度检索知识库,简化HybridRAG(VectorRAG+GraphRAG)的实现,使其构建知识库更加高效简便和降低LLM行业垂直应用落地门槛。
HybridRAG
HybridRAG (Hybrid Retrieval-Augmented Generation) 是一种最新结合了两种检索增强 (Retrieval-Augmented,前有VectorRAG-采用AI/向量数据库存算Embedding文本相似度,后有GraphRAG-采用KG/知识图谱数据库存查相关联内容) 和生成式 (Generation) 方法的自然语言处理技术。这种技术通常用于问答系统、对话系统或文档生成等领域,它创新结合检索式方法的信息准确性和生成式方法的流畅性和创造性。HybridRAG的实现可能涉及到复杂的算法和技术,包括但不限于自然语言理解、机器学习、知识表示和推理等。随着NLP领域的不断发展,HybridRAG有望成为提高语言模型性能的关键技术之一。本文将介绍时序图谱数据库AbutionGraph实现HybridRAG的方案,可用于真实项目落地,而非介绍一个方法论。
三种主流技术方案的实现对比:
1) VectorRAG (采用:向量数据库)
VectorRAG是一种利用向量数据库来存储文本的Embedding形式数据来支持生成任务的技术。它通过检索与输入查询相关的文本信息来改进NLP任务,特别是在需要生成有意义和连贯响应的情况下。
优势:
- VectorRAG能够确保大型语言模型(LLM)生成的响应与原始输入查询保持一致性和相关性。
问题:
- 使用段落级分块技术,不适合文档的层次结构性质,可能导致关键上下文信息的丢失。
- 从大型异构语料库中检索的上下文质量可能不一致,可能导致分析的不准确和不完整。
2) GraphRAG (采用:图谱数据库)
GraphRAG首先将文本转化为实体及其关系的三元组集合,再利用图谱数据库来将三元组集合存储以实现与输入相关元素的查询检索,是一种将非结构化数据结构化的方法。
优势:
- 知识图谱提供了一种结构化的方式来表示和管理知识,有助于高效的查询和推理,已经在多个领域得到广泛应用。
问题 :
- 构建和维护一个高质量知识图谱,并将不同来源的数据集成到一个连贯的知识图谱中是一个复杂且技术门槛较高的过程。
- 通常在抽象的Q&A任务或提问中没有提到明确的实体时表现不佳。
3) HybridRAG (采用: 向量数据库+图谱 数据库)
HybridRAG通过结合VectorRAG和GraphRAG的特点,旨在提供一种更全面和强大的解决方案。它不仅利用向量数据库检索与查询相关的文本信息,还利用知识图谱来理解和推理文本中描述的实体及其关系。
优势:
- 信息准确性:通过检索式方法,HybridRAG能够提供准确的信息,确保生成的响应基于可靠的数据。
- 流畅性和创造性:生成式方法的结合使得HybridRAG能够生成流畅、自然且具有创造性的文本。
- 上下文理解:通过知识图谱,HybridRAG能够更好地理解文本的上下文和语义关系,从而生成更准确和相关的响应。
应用场景:
- 问答系统:在问答系统中,HybridRAG可以提供更准确的答案,同时保持对话的自然流畅。
- 对话系统:在对话系统中,HybridRAG可以生成更自然、更相关的回复,提高用户体验。
- 文档生成:在文档生成中,HybridRAG可以利用检索到的信息和知识图谱的结构化数据来创建内容丰富、逻辑清晰的文档。
(向量数据库和图谱数据库独立的HybridRAG方案图)
尽管HybridRAG提高了LLM的生成效果,也会带来新的挑战:
- 系统集成:将两种数据库技术有效地集成到一个系统中需要复杂的设计和实现。
- 实现定制:不同的业务场景对Graph(Schema)和Vector(原文/摘要)的形式要求存在差异,比如纯文本的数据和代码文本及结构数据文本的问答知识库面向场景不同,则需要个性化定制以确保引用质量。
- 性能优化:需要优化系统以确保检索和生成过程的效率和响应速度。
- 数据一致性:确保从不同来源检索的数据在知识图谱中保持一致性和准确性是个挑战。
- 全局问答/Global Search:架构上还是Local Search 友好型,Global Search支持困难。
以上3中RAG技术是目前主流的解决方案,我们将使用AbutionGraph 图数据库 综合 这些挑战及前两月开源的微软 GraphRag 的角度为您介绍一个全新的 / 一体化的 /落地门槛更低的 HybridRAG 解决方案。
4) HybridRAG (采用: 向量图谱 数据库)
AbutionGraph支持静态图谱、时序图谱、向量图谱3种存储方式,相比于向量数据库+图谱数据库的HybridRAG实现方式,我们只需采用AbutionGraph的向量图谱存储方式即可达到HybridRAG的效果,是一种更优化/落地难度/成本更低的选择。实现上,我们可以像增加一个字段的方式轻松保存向量,运用时序图谱的特性,向量会自动完成合并并更新保存。根据向量保存在实体中的层级不同,可以实现例如图谱级、文档级、文本块级、实体级的向量存储,通常,我们使用文档级别即可实现简单高效(分布式)的存用。此外,根据构建图谱中层级的不同,同样可以生成不同粒度的摘要描述,运用流式时序图谱的特性,摘要可以自动合并,或使用轻量级LLM作为聚合函数自动完成摘要更新,时刻保持高质量的图谱信息。特别的,摘要(有文档摘要、文本块摘要、实体和关系的描述)是向量检索中非常重要的数据,我们将摘要向量化后存到向量索引中,实现图谱摘要的模糊检索,在提问时即可一步获取摘要同时得到关联图谱。AbutionGraph具有数据直接Json化的能力,检索输出对接到Prompt即可供大语言模型使用,Pipeline一栈式的构建个性化GraphRAG应用。
优势:
- 继承Vector+Graph RAG的优势:能力更集中的向Graph靠拢,丰富知识库能力。
- 架构简洁:一个数据库支撑住一个系统,图谱化的过程也很简洁,把更多精力放在业务优化上。
- 速度提升:图谱简洁-构建快速,整个过程全倚仗大模型的生成速度。
- 查询简单:得益于向量和图谱的绑定,且是RDF+属性图的架构,相比于微软开源的GraphRAG,整个图谱变得很精炼,问答检索的GQL仅需要一条固定不变查询语句即可完成。
- 信息准确:通过图向量的检索方法,一体化的HybridRAG能够提供准确的信息,确保生成的响应基于可靠的相关联的数据。
- 实现定制:可针对不同的业务场景调整/优化数据的存取和快速/便捷的获取,例如结合结构化数据、算法指标数据(出度入读等)、时序数据(年月日维度)等设计分析型业务。
- 知识融合:不同标签的相同实体通过AbutionGraph的预聚合能力可以实现新增属性、摘要、向量的自定义融合;
- 全局问答:通过顶级节点的摘要信息可以快速得到全局性的答案,此外,我们在图谱中内置了出入读的实时计算,可以更方便的去做Leiden社区划分;再有,我们有了摘要聚合的信息,也可以通过节点及其关系的聚合摘要来计算相似度来得出文本相关的社区,这会是一种更简便快速的方法;最后,通过AbutionGraph的技术特性,我们可以优化定制出更多针对特定场景的方案。
挑战:
- LLM工具化/函数化:随着轻量级/嵌入式LLM性能的提升,我们可以把其能力当作AbutionGraph数据库的一个聚合函数来使用,让动态知识图谱认知能力更强。
- 实体消歧:我们将{实体名称,实体描述}向量化,并采用AbutionGraph的流式聚合能力实时更新实体名称对应TopN个相似名称的字典,采用时序监控能力实时/定时监控大于1个相似名称的values,最后采用LLM重新标准化实体名,并更新图谱的关联关系。
应用案例
1)文档类(烟草相关论文)问答系统
案例中可见,我们使用未经行业数据微调的通用大模型结合知识库进行内容生成,得到的知识图谱结构Schema、输出的答案与论文本身内容接近,通过AbutionUI界面可以直观的展示答案的相关依据,查看效果帮助优化问答系统各个流程。
2)代码类智能生成替换
这是我们正在实施中的项目,一期项目在两年前我们通过将Graph2Seq算法改写为Graph2Graph实现代码的智能转化生成,需要注入大量人工训练模型。有了大语言模型方案后,通过解析代码逻辑关系生成代码知识库,其中,将生成(第三方引用、类、函数、变量、配置、文件等)代码关联关系作为图谱知识库,将采用核心需要替换的部分代码块等作为向量知识库,再结合Abution的时序图谱特性进行版本控制、图计算和子图模式匹配作为替换依据,完成代码的智能生成和自动替换,方案更高级有效、也减少了大量无技术含量的工作。
3)时序类数据日志故障问题搜索与自愈解答
采用时序设备日志实时采集及生产指标聚合技术,可以监控指标实现故障自动告警的同时,结合图谱中的时序精准检索和向量模糊检索可以有效实现设备日志的问答,并输出设备关联关系。
总结
我们将AbutionGraph时序向量图谱数据库的HybridRAG实现方案与3种主流RAG技术方案进行了功能融合和对比,用于介绍该种创新的一体化RAG技术实现方式:
1)VectorRAG:
优势:保持生成响应与输入查询的一致性和相关性。
问题:可能丢失关键上下文信息;检索上下文质量不一致。
2)GraphRAG:
优势:利用知识图谱进行高效的查询和推理。
问题:构建和维护高质量知识图谱复杂;在抽象Q&A任务中表现不佳。
3)HybridRAG:
优势:结合VectorRAG和GraphRAG,提供全面解决方案;信息准确性和流畅性;上下文理解。
问题:系统架构复杂,定制化开发成本高。
4)基于AbutionGraph数据库的HybridRAG实现方案:
AbutionGraph数据库通过向量图谱存储方式,继承了Vector+Graph RAG的优势,简化了HybridRAG的实现,提供了一种构建存储和查询检索更优化、成本效益更高的选择。它支持静态图谱、时序图谱和向量图谱的存储,适用于需要高时效性和生成高质量响应的场景或通常一种数据库无法轻易完成的交叉性场景。
时序向量图谱数据库AbutionGraph:官网&开发文档, thutmose.cn