7.6K+ Star!GraphRAG:微软推出的一个基于图的检索增强生成(RAG)系统,提升大模型问答、摘要、推理能力

项目简介

GraphRAG[1] 是微软推出的一种结构化、分层的方法,用于增强检索生成(Retrieval Augmented Generation, RAG)技术,与使用纯文本片段的简单语义搜索方法不同。

GraphRAG 通过大型语言模型(LLMs)的智能,从非结构化文本中提取有价值的结构化数据。

使用场景

  • 知识管理:企业或组织可以使用 GraphRAG 来管理和查询内部文档库。
  • 学术研究:研究人员可以利用 GraphRAG 来分析大量文献,提取关键信息和主题。
  • 内容创作:作者或编辑可以使用 GraphRAG 来构建和查询故事、剧本等文本内容。

特别适用于需要综合理解大量数据集合或单个大型文档中总结的语义概念的场景。

工作流程

GraphRAG 的过程包括从原始文本中提取知识图谱,构建社区层级结构,为这些社区生成摘要,然后在执行基于 RAG 的任务时利用这些结构。7.6K+ Star!GraphRAG:微软推出的一个基于图的检索增强生成(RAG)系统,提升大模型问答、摘要、推理能力

索引(Indexing)

  1. 将输入语料库分割成一系列文本单元,这些单元作为后续过程的可分析单元,并在输出中提供细粒度的引用。
  2. 使用 LLM 从文本单元中提取所有实体、关系和关键声明。
  3. 使用 Leiden 技术[2] 对图进行分层聚类。每个圆圈代表一个实体(例如人、地点或组织),大小代表实体的度数,颜色代表其社区。
  4. 从下至上生成每个社区及其成员的摘要,这有助于全面理解数据集。

查询(Query)

在查询时,使用这些结构为 LLM 上下文窗口提供材料,以回答问题。主要查询模式包括:

  • 局部搜索[3]:通过扩展到特定实体的邻居和相关概念,对特定实体进行推理。
  • 全局搜索[4]:利用社区摘要对语料库的全面问题进行推理。
7.6K+ Star!GraphRAG:微软推出的一个基于图的检索增强生成(RAG)系统,提升大模型问答、摘要、推理能力
局部搜索
7.6K+ Star!GraphRAG:微软推出的一个基于图的检索增强生成(RAG)系统,提升大模型问答、摘要、推理能力
全局搜索

提示调整(Prompt Tuning)

使用 GraphRAG 直接处理你的数据可能无法获得最佳结果。强烈建议根据文档中的 提示调整指南[5] 微调提示。

使用方法

安装 GraphRAG

  • 环境要求:Python 版本 3.10 至 3.12。
  • 使用 pip 安装:pip install graphrag
  • 推荐使用 Solution Accelerator[6] 包,它提供了一个用户友好的端到端体验。

详细步骤

  1. 设置数据项目和初始配置
  • 使用默认配置模式,可以通过配置文件或环境变量进行自定义。
  1. 准备示例数据集
  • 创建输入目录并获取示例文本,例如查尔斯·狄更斯的《圣诞颂歌》。
  1. 设置工作空间变量
  • 初始化工作空间并配置环境变量,例如 GRAPHRAG_API_KEY
  1. 配置 OpenAI 或 Azure OpenAI
  • 根据使用的服务更新配置文件中的 API 密钥和相关设置。
  1. 运行索引管道
  • 使用命令行运行索引管道,并等待处理完成。
  1. 使用查询引擎
  • 运行查询引擎,提出问题并获取答案,可以是全局搜索或局部搜索。

配置和使用 CLI

  • 配置文件 (settings.yaml) 和环境变量 (.env) 允许用户自定义 GraphRAG 管道的设置。
  • CLI(命令行界面)提供了一种方便的方式来运行索引和查询操作。

项目相关

与基础 RAG 的比较

  • 基础 RAG 使用向量相似性作为搜索技术,而 GraphRAG 使用知识图谱,在回答需要综合不同信息片段以提供新综合见解的问题时,表现出显著的性能提升。
  • GraphRAG 在理解大型数据集合或单个大型文档的总结语义概念方面表现不佳时,提供了显著的改进。

其他资源

  • Microsoft Research Blog Post[7]
  • GraphRAG Arxiv[8]

注:本文内容仅供参考,具体项目特性请参照官方 GitHub 页面的最新说明。

欢迎关注&点赞&在看,感谢阅读~


资源列表
[1]

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

[2]

Leiden 技术: https://arxiv.org/pdf/1810.08473.pdf

[3]

局部搜索: https://microsoft.github.io/graphrag/posts/query/1-local_search/

[4]

全局搜索: https://microsoft.github.io/graphrag/posts/query/0-global_search/

[5]

提示调整指南: https://microsoft.github.io/graphrag/posts/prompt_tuning/overview/

[6]

Solution Accelerator: https://github.com/Azure-Samples/graphrag-accelerator

[7]

Microsoft Research Blog Post: https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/

[8]

GraphRAG Arxiv: https://arxiv.org/pdf/2404.16130

原文始发于微信公众号(AIGC创想者):7.6K+ Star!GraphRAG:微软推出的一个基于图的检索增强生成(RAG)系统,提升大模型问答、摘要、推理能力

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/315379.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!