前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >GraphRAG框架总结:开启智能知识的全新时代

GraphRAG框架总结:开启智能知识的全新时代

作者头像
AI研思录
发布2025-02-20 14:40:58
发布2025-02-20 14:40:58
13400
代码可运行
举报
文章被收录于专栏:AI研思录AI研思录
运行总次数:0
代码可运行

GraphRAG通过将传统的RAG(Retrieval-Augmented Generation)框架与图结构结合,利用知识图谱(KG)中的实体关系、社区结构及知识的关联性,提升了信息检索和生成的效果。微软的GraphRAG发布后,也涌现了很多轻量化的版本,这篇文档对GraphRAG的框架做一个总结,也会陆续不断更新。

GraphRAG-微软开源的检索增强生成框架

Graph RAG(Graph Retrieval-Augmented Generation)是一种基于图的知识检索增强技术,它结合了知识图谱的广泛知识表示能力和大语言模型(LLM)的生成能力。不同于使用纯文本片段的简单语义搜索方法。GraphRAG 流程包括从原始文本中提取知识图谱、构建社区层次结构、为这些社区生成摘要,然后在执行基于 RAG 的任务时利用这些结构。

项目地址:https://github.com/microsoft/graphrag

论文地址:https://arxiv.org/pdf/2404.16130

微软 GraphRAG包括索引阶段查询阶段两大环节:

索引阶段是整个流程中最复杂的部分,主要包含以下步骤:

  • 文本块拆分:将原始文档拆分成多个文本块。
  • 实体与关系提取:借助 LLM 对文本块进行分析,提取实体与关系。
  • 生成实体与关系摘要:为提取的实体与关系生成简单的描述性信息,描述性信息会作为属性存放在实体或关系的图节点中。
  • 检测与识别社区:使用社区检测算法,在图中识别多个社区。
  • 生成社区摘要:利用 LLM 为每个社区生成摘要信息。

微软 GraphRAG 提供两种查询模式:

  • Local 模式:用于针对具体事实的提问。
  • Global 模式:用于支持全局型的查询任务,基于高层语义理解,回答概要性问题。

Fast-GraphRAG:微软推出高效的知识图谱检索框架

Fast GraphRAG 通过融合 PageRank 算法,不仅提高了知识检索的效率和精准度,还大大降低了运营成本。在实际测试中,使用《绿野仙踪》作为数据集,Fast GraphRAG 的成本仅为 0.08 美元,而传统 GraphRAG 则需要 0.48 美元,减少了 6 倍,同时准确率提升了 20%。更重要的是,这一创新使得 GraphRAG 能够实时更新和调整知识重要性,适应动态变化的信息环境。

项目地址:https://github.com/circlemind-ai/fast-graphrag?tab=readme-ov-file#quickstart

核心特点

  • 知识的可解释性和可调试性:支持用户在知识图谱上进行可视化查询,使数据检索和更新过程更加直观和易于管理。
  • 高效、低成本、快速:针对大规模运行而设计,无需昂贵的资源投入。
  • 数据动态性:自动生成和优化图形,以最佳方式适应特定领域和本体需求。
  • 实时更新:支持数据变化的即时更新。
  • 智能探索能力:采用基于PageRank的图形探索,提升准确性和可靠性。
  • 异步和类型化设计:完全异步,并提供完整的类型支持,确保工作流程的稳健性和可预测性。

LightRAG

港大黄超团队最新开源的LightRAG,结合了图结构与双层检索机制,显著降低了大模型检索增强的成本,同时提升了信息检索的准确性和效率。首先,通过引入图结构,LightRAG能够更好地捕捉实体之间的复杂依赖关系,实现全面的信息理解。其次,其双层检索策略允许系统同时处理具体和抽象的查询,确保用户获得既相关又丰富的响应。此外,LightRAG具备快速适应新数据的能力,使其在动态环境中保持高效和准确。综合来看,这些优势使得LightRAG在处理复杂查询时表现出色,能够提供更具上下文相关性的答案。

论文地址:https://arxiv.org/abs/2410.05779

项目地址:https://github.com/HKUDS/LightRAG

GraphRAG-Local-UI:本地交互的GraphRAG

GraphRAG-Local-UI这是微软 GraphRAG的一个改编版本,专为支持本地模型并具有全面的交互用户界面而设计。目标是提供一个易于使用且完全可配置的前端,可作为本地 LLM 的 GraphRAG 库的后端。

项目地址:https://github.com/severian42/GraphRAG-Local-UI

特点

  • 自定义可视化:支持调整知识图谱的布局、节点大小、颜色等,以满足个性化需求。
  • 灵活查询:支持全局查询、局部查询以及直接聊天查询,并可自定义参数。
  • 日志记录:提供实时日志记录,便于调试和监控。
  • 输出探索:用户可以浏览和查看索引的输出结果和生成的文件。
  • 设置管理:通过用户界面轻松更新和管理 GraphRAG 的相关设置。
  • 文件管理:支持从用户界面直接上传、查看、编辑和删除输入文件。
  • 实时知识图谱可视化:使用 Plotly 实现知识图谱的 2D 或 3D 可视化。
  • 交互式用户界面:提供友好的用户界面,用于管理数据、运行查询以及可视化结果。
  • 成本优化:通过使用本地模型替代昂贵的云模型,降低运行成本。
  • 本地模型支持:支持本地 LLM 和嵌入模型,包括与 Ollama 和 OpenAI 兼容的 API。
  • 专用索引和提示词调优界面:基于 Gradio 的独立界面,用于管理索引和提示词调优流程。
  • API 中心架构:基于 FastAPI 构建的强大服务器,作为 GraphRAG 操作的核心。

KAG:大模型知识服务框架

蚂蚁发布的一个专业领域知识服务框架, 叫做知识增强生成(KAG:Knowledge Augmented Generation),该框架旨在充分利用知识图谱和向量检索的优势,以解决现有 RAG 技术栈的一些挑战。

项目地址:https://github.com/OpenSPG/KAG

技术报告:https://arxiv.org/pdf/2409.13731

特点

  • 知识与Chunk互索引结构,以整合更丰富的上下文文本信息
  • 利用概念语义推理进行知识对齐,缓解OpenIE引入的噪音问题
  • 支持Schema-Constraint知识构建,支持领域专家知识的表示与构建
  • 逻辑符号引导的混合推理与检索,实现逻辑推理和多跳推理问答

nano-GraphRAG

nano-GraphRAG 的代码量大约只有 800行,除了测试和示例之外。短小精悍,易于扩展,支持异步操作,且完全采用类型注解。

项目地址:https://github.com/gusye1234/nano-graphrag

Tiny-Graphrag

Tiny-Graphrag 是一个简洁版本的 GraphRAG 实现,旨在提供一个最简单的 GraphRAG 系统,包含所有必要的功能。实现了添加文档的全部流程,以及本地查询和全局查询的功能。实现的也比较简单,安装好依赖后,配置zhipu的api-key就可以直接运行。

项目地址:https://github.com/limafang/tiny-graphrag

代码语言:javascript
代码运行次数:0
复制
from tinygraph.graph import TinyGraph
from tinygraph.embedding.zhipu import zhipuEmb
from tinygraph.llm.zhipu import zhipuLLM

emb = zhipuEmb("model name", "your key")
llm = zhipuLLM("model name", "your key")
graph = TinyGraph(
    url="your url",
    username="neo4j name",
    password="neo4j password",
    llm=llm,
    emb=emb,
)
#添加文档
graph.add_document("example/data.md")
#完成文档添加后,可以使用 TinyGraph 进行查询。TinyGraph 支持本地查询和全局查询:
local_res = graph.local_query("what is ML")
print(local_res)
global_res = graph.global_query("what is ML")
print(global_res)

核心流程

  • 检查文档是否已经加载:确保文档未重复加载,以免产生冗余数据。
  • 将文档分割成块:对文档内容进行分块处理,方便后续的数据提取和分析。
  • 从块中提取实体和三元组:使用知识抽取工具,从每个块中识别实体并生成三元组(Subject, Predicate, Object)。
  • 执行实体消歧:确定同名实体是否为同一实体。
  • 合并实体和三元组:整合消岐后的实体与三元组,生成统一的知识表示。
  • 存储到Neo4j数据库:将合并后的实体和三元组保存到 Neo4j 图数据库中,以支持后续的查询和分析。
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-11-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AI研思录 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • GraphRAG-微软开源的检索增强生成框架
  • Fast-GraphRAG:微软推出高效的知识图谱检索框架
    • 核心特点
  • LightRAG
  • GraphRAG-Local-UI:本地交互的GraphRAG
    • 特点
  • KAG:大模型知识服务框架
    • 特点
  • nano-GraphRAG
  • Tiny-Graphrag
    • 核心流程
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档