欢迎来到 GraphRAG
👉 微软研究院博客文章
👉 GraphRAG 加速器
👉 GraphRAG Arxiv
图1:使用 GPT-4 Turbo 生成的 LLM 知识图谱。
GraphRAG 是一种结构化、层次化的检索增强生成(RAG)方法,与使用纯文本片段的简单语义搜索方法不同。GraphRAG 过程涉及从原始文本中提取知识图谱,构建社区层次结构,生成这些社区的摘要,然后在执行基于 RAG 的任务时利用这些结构。
要了解更多关于 GraphRAG 的信息以及如何利用它来增强您的 LLM 对私有数据进行推理的能力,请访问 微软研究院博客文章。
解决方案加速器 🚀
为了快速启动 GraphRAG 系统,我们推荐尝试 解决方案加速器 包。这提供了用户友好的端到端体验,并结合了 Azure 资源。
开始使用 GraphRAG 🚀
要开始使用 GraphRAG,请查看 入门指南。 要深入了解主要子系统,请访问 索引器 和 查询 包的文档页面。
GraphRAG 与基线 RAG 🔍
检索增强生成(RAG)是一种利用现实世界信息改进 LLM 输出的技术。这种技术是大多数基于 LLM 的工具的重要组成部分,大多数 RAG 方法使用向量相似性作为搜索技术,我们称之为 基线 RAG。GraphRAG 使用知识图谱在推理复杂信息时显著提高了问答性能。RAG 技术在帮助 LLM 推理 私有数据集(即 LLM 未经过训练且从未见过的数据,如企业的专有研究、商业文档或通信)方面显示出潜力。基线 RAG 旨在解决这个问题,但我们观察到基线 RAG 在某些情况下表现非常差。例如:
- 基线 RAG 难以连接信息点。这种情况发生在回答问题需要通过共享属性遍历不同信息片段以提供新的综合见解时。
- 基线 RAG 在要求全面理解大型数据集或甚至单一大型文档的总结性语义概念时表现不佳。
为了解决这个问题,技术社区正在努力开发扩展和增强 RAG 的方法。微软研究院的新方法 GraphRAG 使用 LLM 基于输入语料库创建知识图谱。该图谱与社区摘要和图机器学习输出一起,用于在查询时增强提示。GraphRAG 在回答上述两类问题时显示出显著改进,展示了超越其他应用于私有数据集的方法的智能或掌握能力。
GraphRAG 过程 🤖
GraphRAG 建立在我们之前的 研究 和 工具 使用图机器学习的基础上。GraphRAG 过程的基本步骤如下:
索引
- 将输入语料库分割成一系列 TextUnits,作为后续过程的可分析单元,并在我们的输出中提供细粒度的引用。
- 使用 LLM 从 TextUnits 中提取所有实体、关系和关键声明。
- 使用 Leiden 技术 对图进行层次聚类。要直观地查看这一点,请查看上图1。每个圆圈代表一个实体(如人、地点或组织),大小表示实体的度数,颜色表示其社区。
- 自下而上生成每个社区及其组成部分的摘要。这有助于全面理解数据集。
查询
在查询时,这些结构用于在回答问题时为 LLM 上下文窗口提供材料。主要的查询模式有:
提示调优
直接使用 GraphRAG 处理您的数据可能无法获得最佳效果。 我们强烈建议您根据文档中的 提示词调优指南 对提示词进行微调。