news 2026/9/8 13:56:06

GraphRAG:三分钟把一堆文档变成可问答的知识图谱

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
GraphRAG:三分钟把一堆文档变成可问答的知识图谱

GraphRAG:三分钟把一堆文档变成可问答的知识图谱

【免费下载链接】graphragA modular graph-based Retrieval-Augmented Generation (RAG) system项目地址: https://gitcode.com/GitHub_Trending/gr/graphrag

硬盘里躺着一堆文档,却只能靠翻?GraphRAG 是微软开源的图检索增强生成(Graph RAG)系统:用 LLM 自动从文本里抽出实体和关系,建成知识图谱,让你对整个数据集提问。跑通它,只需要几分钟。

它到底在解决什么

你能拿到的,是把非结构化文本变成可查询的图谱,外加每一层级的摘要报告。

普通向量 RAG 检索的是文本片段,答得好不好取决于片段切得巧不巧。GraphRAG 先把文本组织成「实体-关系」网络,再把网络按社区聚合成报告,所以它还能回答跨越整个数据集的大局问题,而不只是某个实体的局部事实。

🚀 三分钟跑起来

先装上并初始化工作区(需要 Python 3.10-3.12):

python -m pip install graphrag graphrag init

init会生成.envsettings.yamlinput/目录,把 OpenAI 或 Azure 的密钥填进.env。没有现成数据的话,把仓库里docs/data/operation_dulce的样例拷进input/即可。

然后开始建索引:

graphrag index

跑几分钟,output/目录里会出现一组 Parquet 表——你的图谱、社区报告、向量都在这。现在可以提问了:

graphrag query "这次行动的总体目标是什么?"

一句话提醒:索引会为每个文本单元调用 LLM,费用随数据量走。官方建议从小数据集起步,数据大时可以先用下一节提到的省钱方式试水。

⚙️ 拆开看看:它怎么工作

切分与抽图。文档先被切成文本单元,LLM 逐个单元抽取实体、关系和可选的声明,再把全语料里同名实体的描述合并成一份。这一步占总成本的大头。

社区划分与报告。实体接着被社区检测聚成层次化的组,每一层生成一份摘要报告;文本同时嵌入向量库。所有结果以 Parquet 表落盘,方便你直接检查中间产物。

按路径取答案。查询有两条主路:local search 从图谱里某个实体的邻域加原文出发,适合问具体人物;global search 对全部社区报告做 map-reduce,适合问整体主题。

🔀 换个姿势用

  • 换便宜索引法graphrag index --method fast走 FastGraphRAG,用 NLP 取代大部分 LLM 调用,成本低很多,摘要质量够用。
  • 调提示词settings.yaml里的实体类型和提示模板都可以改;想省事就看 提示调优指南,支持自动生成并打分提示词。
  • 换模型:在settings.yaml的 models 部分分别配置对话和嵌入模型。
  • 增量更新:新文档放进input/后跑graphrag update,图谱增量刷新,不用全量重建。
  • 换查询方式graphrag query--method local--method drift,对比不同路径的答案。
  • 看图谱本身:把output/里的 entities.parquet、relationships.parquet 导出到 Gephi 里打开。

❓ 你大概率会问

问:建一次索引到底多贵?标准方式每个文本单元都调用 LLM,费用和数据量成正比。官方建议先用小数据试,以摘要问答为主的话换--method fast再跑一遍。

问:它和普通 RAG 差在哪,什么时候值得用?普通 RAG 检索文本片段,GraphRAG 额外把片段组织成知识图谱和社区报告。当你的问题是「这个数据集讲了什么」这类全局题时,差距最明显。

问:支持哪些模型?开箱默认 OpenAI 和 Azure OpenAI,对话模型与嵌入模型在settings.yaml中各自配置,也可以指向自己的部署端点。

🧭 接下来玩点什么

想要界面,把仓库克隆下来跑统一搜索应用:

git clone https://gitcode.com/GitHub_Trending/gr/graphrag cd graphrag/unified-search-app uv sync && uv run poe start

打开页面后,同一个问题可以用不同搜索方法并排对比,还能让应用替你生成候选问题。懒得开界面也行:先用 global search 问一个全局问题,再切 local 深挖某个实体的关系,两种体验差一下就记住了。

更多细节看官方文档,所有配置项的说明在配置参考。

【免费下载链接】graphragA modular graph-based Retrieval-Augmented Generation (RAG) system项目地址: https://gitcode.com/GitHub_Trending/gr/graphrag

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/8 13:56:05

VSCode Salesforce Apex 调试利器:Replay Debugger 实操指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/5 0:37:41

RISC-V 64位下从零编写MySBI与BenOS:特权级切换与启动流程解析

简介:这是一份与《RISC-V体系结构编程与实践》第二章配套的实验代码包,面向嵌入式开发者、RTOS工程师及操作系统学习者,目标是借助MySBI启动接口与BenOS微型内核,打通RISC-V底层启动、中断处理与内核调度等关键实践环节。压缩包共…

作者头像 李华
网站建设 2026/9/3 18:37:38

贝壳找房Java笔试全解析:考点分布、OOM排查与排序算法实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/4 23:14:14

十分钟做出能开机的 U 盘:Rufus 手把手教你做系统启动盘

十分钟做出能开机的 U 盘:Rufus 手把手教你做系统启动盘 【免费下载链接】rufus The Reliable USB Formatting Utility 项目地址: https://gitcode.com/GitHub_Trending/ru/rufus U 盘里明明拷了系统镜像,电脑一插却进不了安装界面——多半是这盘…

作者头像 李华