使用GraphRAG提升信息检索相关性。
GraphRAG是传统RAG的升级版,通过索引和查询两大阶段,实现了信息的图结构化处理和社区检测技术,从而提升信息检索的上下文相关性。本文为大家详细介绍GraphRAG的设置和应用方法。
1 GraphRAG
GraphRAG 是传统 RAG 的升级版,主要分为索引和查询两个阶段:
索引阶段:
-
源文档被拆分为子文档,进行实体和关系提取,构建知识图谱,形成社区结构,并生成多层次摘要。
查询阶段:
-
根据用户需求,选择合适的社区级别检索,整合多个社区的响应,形成全面答案。
GraphRAG 的创新在于利用图结构化信息和社区检测技术,提升回答的上下文相关性,但其计算成本要高于传统 RAG,后者在成本效益上仍有优势。
2 GraphRAG 设置指南
2.1 环境与安装
-
创建并激活虚拟环境:
conda create -n GraphRAG
conda activate GraphRAG
-
安装 GraphRAG 包:
pip install graphrag
2.2 目录结构
-
创建工作目录,并在其中建立 ragtest/input
文件夹。 -
将源文档放入 input
文件夹。
2.3 配置与初始化
-
初始化工作空间并创建配置文件:
python -m graphrag.index --init --root ./target
在 settings.yml
中设置 OpenAI API 密钥和模型配置。
2.4 构建与查询
-
构建知识图谱:
python -m graphrag.index --init --root ./target
-
执行查询:
-
全局查询:
python -m graphrag.query --root ./target --method global "这个故事的主题是什么"
-
局部查询:
python -m graphrag.query --root ./target --method local "这个故事的主题是什么"
通过以上步骤,可设置并使用 GraphRAG 进行有效的信息检索。
3 GraphRAG成本分析
测试结果显示,GraphRAG处理每本书的费用约为7美元,主要包括:
-
GPT-4 API调用约570次; -
嵌入请求约25次; -
处理超过100万标记。
这些数据可作为评估GraphRAG性价比的参考。