GraphRAG 完整教程:从非结构化文本构建知识图谱,掌握基于图的检索增强生成
GraphRAG 完整教程从非结构化文本构建知识图谱掌握基于图的检索增强生成【免费下载链接】graphragA modular graph-based Retrieval-Augmented Generation (RAG) system项目地址: https://gitcode.com/GitHub_Trending/gr/graphragGraphRAG 是一个开源的、模块化的基于图的检索增强生成RAG系统。它用 LLM 从海量非结构化文本中抽取实体与关系构建带社区层级和多级摘要的知识图谱并提供全局、局部等多种检索方式。适合需要对企业文档、研究资料等私有数据做整体性问答与推理的工程师、研究者和开发者。当整本书都答不上来时你需要的就是 GraphRAG想象两个场景你手上有一整套内部业务文档老板问过去一年的材料里反复出现的核心问题是什么。传统 RAG 的做法是拿问题去向量库里捞几段相似的文本喂给模型——但核心问题分散在几十份文档里任何一段都不完整模型只能各说各话。再比如你刚接手一个陌生项目问主角 A 和 B 之间的关系是怎么演变的。局部检索能捞到零散段落却串不起完整脉络。GraphRAG 解决的就是这类问题它让模型先把语料读一遍沉淀成可复用的结构之后无论是全局概括类问题还是围绕具体实体的追问都能给出更完整的答案。原理速览一块可以分群小结的白板用一句话概括它的核心原理GraphRAG 先把文本里的实体和关系像记笔记一样写在白板上再把白板按关系远近分出一层层小圈子社区给每个圈子写一份摘要提问时全局问题看圈子摘要局部问题顺着具体实体往外找邻居。源码里对应的核心结构在 packages/graphrag/graphrag/ 下索引流水线在index/workflows/查询引擎在query/。GraphRAG 一键安装步骤从零到第一次跑通整个过程只需要四步装包、初始化、放数据、建索引。pip install graphrag graphrag init # 生成 .env、settings.yaml 和 input 目录 # 把 .txt / .csv / .json 等文本文件放进 input/ 目录 graphrag index # 运行索引流水线结果写入 output/graphrag init会交互式询问你想用的聊天模型和向量模型并把 API Key 写进.env。graphrag index跑完后output/目录里会出现一组 parquet 文件实体、关系、社区、社区报告等这就是你的知识图谱资产。然后是第一次提问graphrag query 这份材料里最核心的主题是什么 graphrag query 某个实体和谁关系密切 --method local默认走全局检索加上--method local则围绕具体实体检索。完整配置项可参考 docs/config/yaml.md。核心能力拆解3 个值得了解的模块统一检索对比界面。仓库自带的 unified-search-app/ 是一个演示 Web 应用可以把同一个问题同时丢给基础 RAG、局部检索、全局检索和 DRIFT 检索并排对比答案质量是理解各检索模式差异最快的方式。社区浏览与社区报告。索引过程中GraphRAG 会对每个社区自底向上生成结构化报告。在演示应用的 GRAPH EXPLORER 页签里可以直接看到社区报告列表、按社区着色的实体图谱和选中报告的详情适合人工核查图谱构建质量。图谱可视化与调试。开启snapshots.graphml后流水线会输出graph.graphml可用 Gephi 等工具导入查看节点和连边排查抽取质量。官方给出了完整的操作指引见 docs/visualization_guide.md。实战小例子用《圣诞颂歌》做端到端演示官方推荐的入门数据集是狄更斯的《A Christmas Carol》整个流程在 docs/get_started.md 里有记录。按上一节的命令建好索引后可以启动统一检索演示应用git clone https://gitcode.com/GitHub_Trending/gr/graphrag cd graphrag/unified-search-app uv run poe start在左侧选择数据集打开 local search 和 global search 开关点 Suggest some questions 让系统自动生成候选题目选中一个例如Marley 在 Scrooge 的转变中扮演什么角色右侧就会并排展示局部检索与全局检索的答案及引用来源直观看到两种检索方式的差别。演示应用的数据集组织方式listing.json配置、本地目录结构见 unified-search-app/README.md。进阶技巧4 条上手后的建议先跑 Prompt 调优再正式建索引。用graphrag prompt-tune基于你的真实语料自动定制提示词实体定义、关系模板等抽取质量通常比默认提示明显更好官方也强烈建议这一步详见 docs/prompt_tuning/overview.md。小数据起步控制成本。索引过程会大量调用 LLMtoken 消耗不低。官方文档明确提示先拿小数据集如教程里的示例语料和快速低价模型验证流程再上正式数据。用增量更新代替全量重建。文档有变动时用graphrag update只处理新增/变更的文档并合并进既有图谱不必每次都从头索引。按需选择检索方式。问全局概括用 default全局问具体实体用 local需要社区信息辅助的实体追问用 DRIFT简单事实题用 basic 即可调top_k、社区层级等参数能进一步控制答案粒度。常见问题全局检索和局部检索到底怎么选全局检索基于各社区的摘要做 map-reduce 汇总适合整体趋势核心主题这类需要通览全文的问题资源消耗较大局部检索从具体实体出发扩展到邻居节点适合围绕某个人物、产品、概念的细节追问。拿不准时可以在统一检索应用里对同一问题两者各跑一遍做对比。索引一定要用 OpenAI 吗不是。模型在settings.yaml的models:段配置支持 OpenAI 与 Azure OpenAI 等提供商也可以按自己的环境调整模型名称、速率限制和重试策略配置说明见 docs/config/models.md。输出是一堆 parquet 文件能直接用于业务系统吗可以。output/里的实体表、关系表、社区表、报告表结构清晰定义在 packages/graphrag/graphrag/data_model/既能直接加载做分析也能配合 examples_notebooks/ 中的查询示例接入自己的应用。结语GraphRAG 把检索增强生成从捞段落推进到了读全貌当你的私有数据需要整体性推理时它值得放进技术栈里试一试。更多细节可参考官方入门文档 docs/get_started.md、查询引擎说明 docs/query/overview.md 与完整 CLI 参考 docs/cli.md。【免费下载链接】graphragA modular graph-based Retrieval-Augmented Generation (RAG) system项目地址: https://gitcode.com/GitHub_Trending/gr/graphrag创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考