别再手动整理实体关系了:用 GraphRAG 把散乱文档变成可查询的知识网络
【免费下载链接】graphragA modular graph-based Retrieval-Augmented Generation (RAG) system项目地址: https://gitcode.com/GitHub_Trending/gr/graphrag
GraphRAG 用 LLM 从非结构化文本中提取实体、关系和社区,帮你把一摞文档变成可问答的知识网络。读完本文,你能跑通一次完整索引,并用自己的文档提问。
先认识 GraphRAG
GraphRAG 是一个基于图结构的检索增强生成(RAG)系统:索引管线先用 LLM 从文本里抽出实体和关系,再做社区检测并生成多层级的社区报告;查询时在这些结构上作答。
它和普通 RAG 的区别:
- 输出是实体、关系、社区报告等结构化表,而不只是文本切片
- 查询分 local(围绕具体实体)和 global(通读社区报告回答全局问题)两种路线
- 底层走 LiteLLM,OpenAI、Azure 等 100 多种模型都能接
3 分钟装好 GraphRAG
git clone https://gitcode.com/GitHub_Trending/gr/graphrag && cd graphrag,拿到源码(统一搜索应用要用到)。python -m venv .venv && source .venv/bin/activate,建个虚拟环境。python -m pip install graphrag,从 PyPI 安装命令行工具。graphrag init,按提示选默认 chat 和 embedding 模型,会生成settings.yaml、.env和input/目录。- 打开
.env,把GRAPHRAG_API_KEY换成你自己的 API 密钥,再cd input放点文档进去。
跑通第一次索引
仓库里自带教程数据集,先用它验证环境。把示例文本拷进工作区的input/目录:
cp docs/data/operation_dulce/"Operation Dulce v2 1 1.md" input/然后在工作区根目录启动索引:
graphrag index管道跑完大约几分钟,你会看到这样的进度输出:
跑完后output/目录会多出一组 parquet 文件(entities、relationships、communities 等)。确认索引可用的最直接方式,是问两个不同层面的问题:
graphrag query "What are the top themes in this dataset?" graphrag query "Who is the central figure?" --method localglobal 方式适合"这批文档在讲什么"这类宏观问题,local 方式适合追问某个具体实体的关系。
用它做什么
多套索引横向对比。仓库内置的 统一搜索应用 支持在一个界面里对比 local、global 等不同检索方法的结果:
cd unified-search-app uv sync && uv run poe start在数据集列表里按 listing.json 格式 注册多个索引后,打开浏览器就能对比作答效果。
可视化浏览图谱。在settings.yaml里开启snapshots: graphml,索引后把output目录里的graph.graphml导入 Gephi,就能得到一张可交互的关系图,按社区着色、按度调节点大小,调参步骤参考 可视化指南。
增量更新。文档有新增时不用推倒重来,graphrag update会把新索引写到update_output目录,保留原有结果。
调优与避坑
现象:跑一次索引花了远超预期的 token 费用。原因:索引会为每个文本块调 LLM 抽实体和关系,文档量大时调用量成倍放大。怎么改:先用仓库自带的教程数据集小跑一遍,确认可行后再换便宜快速的模型做大批量索引。
现象:实体提取质量一般,类型和粒度都不贴合自己的领域。原因:默认提示词是通用示例,没有针对你的数据。怎么改:跑
graphrag prompt-tune,让它从你的数据里采样并生成定制提示词,详见 提示词调优文档。现象:升级 graphrag 版本后管道报配置错误。原因:不同版本的
settings.yaml结构有变化。怎么改:小版本升级后重跑graphrag init --force刷新配置,大版本升级参考 breaking-changes 说明。
官方 Getting Started 和 配置文档 覆盖到这里没展开的细节;使用中的问题可以去仓库的 Discussions 区提问。另外说明一下现状:GraphRAG 目前处于维护模式,只做缺陷修复和依赖更新,不建议指望新功能,但作为学习图 RAG 思路的参考实现仍然完整。
【免费下载链接】graphragA modular graph-based Retrieval-Augmented Generation (RAG) system项目地址: https://gitcode.com/GitHub_Trending/gr/graphrag
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考