AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


HybridRAG:混合 RAG 引擎 - 知识图谱 + 向量检索!比 GraphRAG 更好!
发布日期:2024-09-06 13:05:42 浏览次数: 1642


我们都听说过检索增强生成(RAG),许多人使用 RAG 因为它能够增强语言模型的功能,通过结合检索和生成处理来提高准确性,减少幻觉,并且更加经济高效。

过往文章中,我们展示了许多先进的 RAG 框架,例如 GraphRAG 和 RAG Flow,这些框架都在逐变得更为先进。

例如 GraphRAG 使用知识图谱来表示实体和关系,提供了一种结构化的信息检索方法,但它缺乏全面的召回能力

然后,我们还有一种名为 Vector 的方法,它通过将文本转换为向量嵌入来检索相关信息,这在搜索中表现出色,但往往会丢失关键的上下文信息,尤其是在处理复杂结构的文档时,例如财务报告或较长的上下文。

那么我们如何解决这个问题呢?

通过集成基于向量和图形的检索方法,这将使框架能够以更高的精度和可靠性处理复杂数据。这使其成为传统 RAG 方法的重大进步。在这里,我想介绍一个已经实现这种混合 RAG 的框架——HybridRAG

>/ 下面这篇文章文末有手动混合两种方法的代码实践_

使用GraphRAG+LangChain+Ollama:LLaMa 3.1跑通知识图谱与向量数据库集成(Neo4j)

这是一个新颖的 AI 系统,有人使用HybridRAG处理了 100 份合规性文件。

HybridRAG 在三个关键方面表现出色,因此脱颖而出。这些领域包括准确度、相关性以及上下文召回能力。

HybridRAG 结合简单的余弦相似性搜索和知识图谱检索系统 + 使用 Bur Cells AI SDK,它能够自动编写和执行代码,从文档中提取实体和关系。

它可以在不同实体和关系之间提供一种结构化的方法进行信息检索。

让我们来看一下Vector RAG这个图表,这是一个描述 RAG 应用中基于向量数据库创建过程的示意图。

在向量 RAG 或向量图形 RAG 中,查询首先发送到外部数据库,检索相关文档或段落,然后将其分解为更小的部分,利用大型语言模型将它们转换为向量嵌入。

然后执行相似性搜索,找到与查询最相关的部分,用于生成响应的上下文。这种方法确保语言模型能够结合实时信息和现有知识,提供准确且详细的回答。

但是,这种方法的局限性在于,它在处理复杂结构的文档时,往往会丢失关键的上下文信息,特别是在处理企业信息时可能成为一个问题。

接着,我们还有另一个示意图,描述了知识图谱的创建过程,这是 GraphRAG 的过程,涉及构建实体的结构化表示。

如图所示,您可以看到不同区域的实体和关系,这可以用于提供更有组织且易于访问的知识表示,图中左边有一个关于收益报告的实体,中间是处理收益报告的实体。

这一过程包括信息提取,如识别实体和关系,并通过填补知识图谱中的空白和解决冗余来改进它。这样它可以适应知识,并由表示实体的各种节点和表示关系的边组成。

与 Vector RAG 相比,GraphRAG 在上下文精确性上(能够更好地捕捉到数据之间的关系和语义,提供的答案更加准确和相关。)表现出色,

但可能无法匹配全面的召回能力(“召回能力”指的是模型找到所有相关信息的能力。)

混合 RAG 结合了 Vector RAG 和 GraphRAG 的优势,通过先使用 Vector RAG 获取大量相关信息,然后利用 GraphRAG 对这些信息进行精确的上下文处理

这就是为什么将 Vector RAG 和 GraphRAG 系统整合到一个新框架中的混合 RAG 将会提升不同 RAG 方法的能力。

我还想提到一点,在 HybridRAG 方法中,生成答案的过程是分两个阶段进行的:

VectorRAG 阶段:首先使用 VectorRAG 从文档中提取相关的上下文。这一阶段主要依赖向量检索技术来找到与查询最相关的内容。

GraphRAG 阶段:接着使用 GraphRAG 利用知识图谱来补充和优化之前获取的上下文。这一步能够通过知识图谱提供更丰富的语义信息,从而生成更准确的答案。

虽然这种方法利用了两者的优势,但会影响精度,因为上下文的顺序会影响最终答案的准确性。

通过在金融收益电话会议记录上的实验,HybridRAG 展示了其在信息检索和生成方面的优越性能。具体来说:

- 准确性 (F):GraphRAG 和 HybridRAG 均表现优异,得分为 0.96,而 VectorRAG 略低,得分为 0.94。

- 答案相关性 (AR):HybridRAG 以 0.96 的得分领先,优于 VectorRAG 的 0.91 和 GraphRAG 的 0.89。

- 上下文精确度 (CP):GraphRAG 以 0.96 的得分领先,超过 VectorRAG 的 0.84 和 HybridRAG 的 0.79。

- 上下文召回率 (CR):VectorRAG 和 HybridRAG 达到完美的 1 ,而 GraphRAG 得分为 0.85。

总的来说,HybridRAG 结合了 VectorRAG 和 GraphRAG 的优势,尤其在处理复杂文本如财务数据时表现优异,当然他在其他领域也可应用。

目前,你无法访问混合 RAG,因为代码还没有发布,这只是一个研究实现。未来代码发布时,我会写另一篇文章,以便你可以马上开始使用,并且我会提供如何将其应用到你自己的 AI 系统中的教程。

总之,我想说,前面不同类型的 RAG 方法可以增强语言模型的功能,尤其是在提供外部文档上下文时,但它们在处理复杂文本时往往表现不佳,例如财务文本或其他复杂数据,这导致了不一致的检索质量。

为了解决这个问题,我们看到了混合 RAG,它结合了知识图谱和传统 RAG 技术来更好地进行信息提取。

在我看来,混合 RAG 是目前最好的 RAG 框架,尽管在某些精度上有所下降,但在准确性和相关性方面表现出色。

这一进展值得关注,我会继续跟进,当代码发布时,我会制作相关视频并进行深入分析。

总结一下,我推荐大家阅读HybridRAG的研究论文,它会更详细地展示这个框架的潜力。



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

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

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

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询