两者不是替代关系,而是不同维度的技术 :RAG 是一种系统架构/工作流 ,知识图谱是一种数据结构/知识组织方式。实际落地中经常融合使用(即 GraphRAG)。
一、核心定义对比
| 维度 | RAG(检索增强生成) | 知识图谱(Knowledge Graph) |
|---|---|---|
| 本质 | 一种系统架构模式:LLM + 外部检索 | 一种数据结构:实体-关系-属性的图网络 |
| 核心目标 | 让大模型能"查资料"再回答,减少幻觉 | 用结构化方式表达世界万物的关联 |
| 数据形态 | 非结构化文本片段(Chunks)向量化后存储 | 结构化三元组(实体-关系-实体) |
| 查询方式 | 语义相似度匹配(向量检索 Top-K) | 图遍历、逻辑规则、路径推理 |
二、工作机制差异
RAG 的工作流程
用户提问 → 向量化 → 向量库检索相似文本块 → 拼接上下文 → LLM生成答案
- 检索依据:语义相近(embedding 空间距离)
- 典型场景:"公司年假政策是什么?"→ 召回 HR 手册中相关段落 → LLM 总结回答
知识图谱的工作流程
用户提问 → 解析为图查询(如Cypher)→ 图数据库遍历关联节点 → 返回结构化事实
- 检索依据:逻辑关联(实体间的显式关系)
- 典型场景:"张三的直属领导的配偶在哪个部门?"→ 遍历:张三→汇报给→领导→配偶→所属部门
三、各自的优势与短板
| 能力 | RAG | 知识图谱 |
|---|---|---|
| 构建成本 | 低,直接切分文档入库 | 高,需要专家标注、本体建模、关系抽取 |
| 语义理解 | 强,擅长模糊匹配和自然语言 | 弱,需要精确查询语句 |
| 复杂推理 | 弱,只能做"查到了再总结" | 强,支持多跳推理、因果链分析 |
| 可解释性 | 弱,"为什么召回这段"难以解释 | 强,路径透明可追溯 |
| 时效性更新 | 容易,增量文档直接入库 | 困难,新增关系可能影响全局结构 |
| 数据类型 | 擅长非结构化文本 | 擅长结构化关系数据 |
四、典型适用场景
| 场景 | 更适合用 | 原因 |
|---|---|---|
| 企业文档问答、客服机器人 | RAG | 文档多、更新快、语义匹配足够 |
| 金融风控(关联分析) | 知识图谱 | 需要追踪"担保链→资金链→股权链"的多跳关系 |
| 医疗诊断辅助 | 知识图谱 | 症状→疾病→药品→禁忌的精确推理 |
| 产品推荐("买过A的人还买了B") | 知识图谱 | 用户-商品-属性的图关联 |
| 通用知识库问答 | RAG + 知识图谱(GraphRAG) | 既要有语义理解,又要有结构化推理 |
五、融合趋势:GraphRAG
目前主流方向不是二选一,而是把知识图谱嵌入 RAG 流程:
用户提问
→ 先走知识图谱:定位核心实体和关系骨架(结构化推理)
→ 再走向量检索:补充相关文本细节(语义丰富化)
→ 合并后送入 LLM 生成答案
典型产品/框架:
- 微软 GraphRAG:将文档构建为社区结构的知识图谱,增强全局摘要能力
- Neo4j + LangChain:图数据库与 LLM 工具链集成
- 阿里/百度的企业级方案:向量库 + 图数据库双引擎
六、一句话总结
RAG 是"让 AI 会查书",知识图谱是"把世界画成一张关系网"。
查书适合回答"是什么",关系网适合回答"和谁有关、怎么传导"。
复杂业务场景下,两者结合(GraphRAG)才是完整解法。