GraphRAG 是一种先进的检索增强生成(RAG)技术,通过整合知识图谱来提升信息检索和生成的能力。
- 与传统的RAG系统相比,GraphRAG能够更有效地处理复杂的查询,提供更准确和相关的回答。
通过构建知识图谱,捕捉数据点之间的关系,为用户提供更具上下文的响应,特别适用于涉及大量实体和关系的数据集。
GraphRAG不仅提高了生成答案的准确性,还能减少生成过程中的错误,尤其在法律科技和风险分析等领域表现出色。
GraphRAG还可以通过自动化知识图谱的构建,揭示互联数据中的深层次见解,在研究和商业应用中具有重要的价值。
简单来说,GraphRAG = 知识图谱 + 检索增强生成RAG。
传统RAG工作流程

文档处理流程
文档收集 :
- 从各种来源获取知识文档,包括网页、PDF、数据库等。
文档分块 :
- 将长文档切分为适当大小的文本块(chunks),通常为几百个token。
向量化 :
- 使用嵌入模型(如BERT、Sentence-BERT等)将文本块转换为高维向量表示。
向量存储 :
- 将文本向量及其原始内容存入向量数据库。
查询处理流程
用户查询 :
- 接收用户的自然语言问题。
查询向量化 :
- 将用户查询转换为与文档块相同维度的向量表示。
向量检索 :
- 在向量数据库中检索与查询向量最相似的文档向量(Top-K检索)。
相关性排序 :
- 根据相似度分数对检索结果进行排序,使用余弦相似度等度量方法。
大语言模型处理 :
- 将用户查询和检索到的相关文档作为上下文输入到LLM。
增强回答 :
- LLM基于检索到的知识生成准确、相关的回答。
GraghRAG工作流程

知识图谱构建流程
文档收集 :
- 从各种来源获取知识文档,包括结构化和非结构化数据。
实体抽取 :
- 识别文档中的关键实体,如人物、组织、概念等。
关系抽取 :
- 确定实体之间的语义关系,构建三元组(头实体-关系-尾实体)。
图嵌入 :
- 使用图神经网络(GNN)将实体和关系转换为向量表示,捕获结构信息。
图存储 :
- 将知识图谱及其嵌入向量存入图数据库。
GraphRAG查询处理流程
用户查询 :
- 接收用户的自然语言问题。
查询向量化 :
- 将用户查询转换为向量表示。
图检索:
- 多维度检索相关知识。
语义检索 :
- 基于向量相似度的传统检索。
结构检索 :
- 利用图结构特征进行检索。
路径检索 :
- 查找实体间的关系路径。
子图检索 :
- 提取与查询相关的局部子图。
多模态融合 :
- 整合不同检索方法的结果。
相关性排序 :
- 使用综合评分函数对检索结果排序。
大语言模型处理 :
- 将用户查询和检索到的图结构知识作为上下文输入到LLM。
增强回答 :
- LLM基于结构化的图知识生成准确、相关的回答。
特性 | 传统RAG | GraphRAG |
---|---|---|
知识表示 | 文档块向量 | 文档块向量 + 实体关系图 |
检索方式 | 向量相似度检索 | 向量检索 + 图遍历 |
上下文理解 | 有限的上下文窗口 | 结构化的实体关系上下文 |
多跳推理 | 弱,依赖LLM | 强,通过图结构显式支持 |
实现复杂度 | 较低 | 较高 |
维护成本 | 较低 | 较高 |
适用场景 | 通用问答 | 复杂关系推理、专业领域问答 |