基于 GraphRAG 打造知识图谱增强的 LLM:以解读《红楼梦》为例
在构建大模型(LLM)知识库检索增强生成(RAG)智能体时,传统的纯文本切片方法往往难以处理复杂的关系推理。微软开源的 GraphRAG 项目提供了一种新的思路:通过 LLM 提取实体和关系,构建知识图谱,再基于图谱结构进行检索。本文将详细介绍如何部署 GraphRAG,并以《红楼梦》为例展示其效果。
注意:GraphRAG 对 Token 消耗较大,且索引构建耗时较长,请确保有足够的计算资源。
1. GraphRAG 简介
1.1 核心概念
GraphRAG 是一种结构化、分层的检索增强生成方法。与使用纯文本片段的朴素语义搜索不同,GraphRAG 的处理流程包括从原始文本中提取知识图、构建社区层次结构、为这些社区生成摘要,然后在执行基于 RAG 的任务时利用这些结构。
简单来说,GraphRAG 是一个数据转换套件,旨在利用 LLM 从非结构化文本中提取有价值的结构化数据,进而构建成知识图谱。
图谱的核心概念包括:
- 节点(Node):代表实体,如人物、地点、组织。
- 边(Edge):代表关系,如'属于'、'位于'、'认识'。
1.2 官方资源
2. 安装与环境配置
2.1 环境准备
首先,确保已安装 Python 3.9+。建议在虚拟环境中操作。
python -m venv graphrag_env
source graphrag_env/bin/activate # Windows: graphrag_env\Scripts\activate
2.2 安装 GraphRAG
pip install graphrag
2.3 初始化项目
创建项目文件夹并初始化:
mkdir graphrag_project
cd graphrag_project
python -m graphrag.index --init --root .
初始化成功后,目录结构如下:
graphrag_project/
├── .env # 环境变量配置
├── input # 存放知识库数据
├── prompts # 提示词模板
│ ├── claim_extraction.txt
│ ├── community_report.txt
│ ├── entity_extraction.txt
│ └── summarize_descriptions.txt
└── settings.yaml # 核心配置文件


