Graph-RAG
787 字约 3 分钟
domain/aiai/rag
2026-07-24
1. 核心结论
- Graph RAG 将知识图谱与 RAG 结合,利用实体关系提升检索质量
- 传统 RAG 基于向量相似度,Graph RAG 基于实体关系推理
- Graph RAG 擅长回答需要多跳推理和全局理解的问题
- 构建知识图谱成本较高,适合结构化程度高的领域
- Graph RAG 与传统 RAG 互补,混合使用效果最佳
2. 基础概念
Knowledge Graph(知识图谱):以图结构存储实体和关系的知识库。
Entity(实体):知识图谱中的节点,如人名、地点、概念。
Relation(关系):实体之间的连接,如"属于"、"位于"、"相关"。
Graph Database:存储和查询图结构的数据库,如 Neo4j。
Multi-hop Reasoning:多跳推理,通过多个关系连接找到答案。
Graph Embedding:将图结构编码为向量表示。
Cypher:Neo4j 的图查询语言。
3. 工作原理
Graph RAG 流程:
- 知识图谱构建:
- 从文档中提取实体和关系
- 使用 LLM 或 NLP 工具进行信息抽取
- 构建图结构存储
- 查询理解:
- 识别查询中的实体
- 确定查询意图
- 生成图查询语句
- 图检索:
- 在知识图谱中遍历相关实体和关系
- 执行多跳查询
- 获取结构化知识
- 增强生成:
- 将图检索结果转换为自然语言上下文
- 结合向量检索结果
- LLM 生成回答
Graph RAG vs 传统 RAG:
| 维度 | 传统 RAG | Graph RAG |
|---|---|---|
| 检索方式 | 向量相似度 | 实体关系遍历 |
| 优势 | 语义匹配 | 关系推理 |
| 适用 | 文档问答 | 复杂推理 |
| 成本 | 低 | 高(构建图谱) |
| 更新 | 简单 | 复杂 |
Microsoft Graph RAG 方法:
- 使用 LLM 从文本中提取实体和关系
- 构建社区层次结构
- 社区级别摘要生成
- 多级别查询回答
4. 实战场景
- 企业知识管理:组织架构、业务流程关系
- 医疗知识图谱:疾病-症状-药物关系
- 金融风控:实体关联关系分析
- 法律推理:法条-案例-当事人关系
- 学术研究:论文-作者-引用关系
- 推荐系统:用户-物品-行为关系
5. 常见误区
- 认为 Graph RAG 完全替代传统 RAG:两者互补而非替代
- 忽视图谱构建成本:抽取和维护知识图谱需要大量工作
- 图谱质量差:实体识别和关系抽取不准确
- 过度复杂化:简单问题不需要图推理
- 不更新图谱:知识过时导致推理错误
6. 进阶方向
- 自动化知识图谱构建
- 动态图谱更新
- 图神经网络(GNN)增强
- 向量+图谱混合检索
- 大规模分布式图数据库
- 图谱质量评估
7. 推荐资料
- Microsoft Graph RAG - https://github.com/microsoft/graphrag
- Neo4j Docs - https://neo4j.com/docs/
- LangChain Graph RAG - https://python.langchain.com/docs/use_cases/graph/
- LlamaIndex Knowledge Graphs - https://docs.llamaindex.ai/en/stable/module_guides/querying/knowledge_graph/
- Google Knowledge Graph - https://developers.google.com/knowledge-graph