图数据库RAG与KAG
图数据库 RAG 与 KAG
什么是 RAG?
定义
RAG(Retrieval-Augmented Generation,检索增强生成) 是一种将「外部知识检索」与「大语言模型生成」相结合的架构。它让 LLM 在回答问题时,先去知识库检索相关资料,再基于检索到的内容生成答案,从而缓解大模型的「幻觉」问题、知识时效性问题与私有知识缺失问题。
传统向量 RAG 的工作流程
1 | 用户提问 |
传统向量 RAG 的痛点
| 痛点 | 说明 |
|---|---|
| 语义模糊 | 「相似」不等于「相关」,向量只捕捉字面/浅层语义 |
| 缺乏全局视角 | 只能检索孤立片段,无法感知文档间的关联 |
| 多跳推理弱 | 一个问题需要串联多个实体关系时,向量检索无能为力 |
| 可解释性差 | 不知道答案来自哪里、推理链路是什么 |
| 长尾/稀有实体 | 低频专业术语容易被向量空间稀释 |
一句话总结:传统 RAG 擅长「找相似的句子」,但不擅长「理清关系和逻辑」。图数据库与 KAG 正是为补齐这些短板而生。
图数据库(Graph Database)
什么是图数据库?
图数据库是以图结构存储数据的数据库,核心由三类元素构成:
- 节点(Node):实体,如「人物」「公司」「疾病」「概念」
- 边(Edge / Relationship):实体之间的关系,如「属于」「治疗」「发生于」
- 属性(Property):节点/边的附加信息
与关系型数据库(表 + JOIN)相比,图数据库用「指针」直接关联数据,查询多跳关系时无需昂贵的 JOIN 操作,复杂关联查询性能随跳数增长几乎线性。
常见图数据库
| 数据库 | 类型 | 特点 |
|---|---|---|
| Neo4j | 原生图,Cypher 查询 | 最流行,生态成熟,社区资料多 |
| Nebula Graph | 分布式,nGQL | 国产,高吞吐,支持万亿级边 |
| TuGraph | 国产,蚂蚁开源 | 高性能,图计算与图存储一体 |
| JanusGraph | 分布式,可接多种后端 | 与 Hadoop / HBase 生态融合 |
| TigerGraph | 分布式 MPP | 实时深度关联分析 |
GraphRAG:把知识图谱引入 RAG
什么是 GraphRAG?
GraphRAG 是微软(Microsoft Research)于 2024 年提出的方案:在检索之前,先用 LLM 从文档中抽取实体、关系和社区摘要,构建一张知识图谱;检索时既做向量检索,也做图遍历,从而具备全局、多跳的问答能力。
核心流程
- 抽取(Extract):LLM 从文本中识别实体、关系、声明,写入图数据库
- 社区检测(Community Detection):用 Leiden 算法把图分割成若干社区
- 社区摘要(Summarize):对每个社区生成自然语言摘要,形成「鸟瞰视图」
- 检索(Query):
- 局部检索:针对具体实体的图遍历(精确、可溯源)
- 全局检索:基于社区摘要的「全局性问题」回答
- 生成:LLM 综合图结构 + 文本生成答案
GraphRAG 解决了什么?
1 | ✅ 全局性问题(「这份资料整体讲了什么主题?」) |
KAG:知识增强生成
什么是 KAG?
KAG(Knowledge Augmented Generation,知识增强生成) 是蚂蚁集团基于 OpenSPG 知识图谱引擎开源的框架,旨在解决专业领域(金融、法律、医疗等)中 RAG「检索不准、推理不深、专业性不足」的问题。
KAG 的核心思想:让知识图谱与文本块互索引(mutual index),用逻辑形式引导的符号推理 + 大模型生成,把「图的可解释推理」和「大模型的语义理解」结合起来。
KAG 的核心技术
1. 知识互索引(Knowledge-Text Mutual Index)
- 知识图谱中的实体/关系 双向链接 到原始文本块
- 图能回溯原文,原文能展开为图谱,避免「图与文脱节」
2. 受 Schema 约束的知识构建(Schema-Constraint)
- 用领域 Schema(概念、实体类型、关系类型)约束 LLM 抽取
- 提升知识抽取的准确率与一致性,减少噪声与幻觉
3. 逻辑形式引导的混合推理求解器(Logical-Form Solver)
- 把自然语言问题转成逻辑表达式(类似 SPARQL / 谓词组合)
- 在图谱上做符号推理(交集、并集、否定、多跳)
- 对图谱无法覆盖的部分,回退到大模型语义检索
- 既保证可解释,又保证召回完整
4. 图谱与原文协同的检索
1 | 用户问题 |
GraphRAG vs KAG 对比
| 维度 | GraphRAG(微软) | KAG(蚂蚁) |
|---|---|---|
| 提出方 | Microsoft Research | 蚂蚁集团(OpenSPG) |
| 知识组织 | 实体-关系图 + 社区摘要 | Schema 约束的知识图谱 + 文本互索引 |
| 推理方式 | 图遍历 + 社区摘要生成 | 逻辑形式符号推理 + 语义检索 |
| 专业性 | 通用文档 | 面向专业领域(金融/法律/医疗) |
| 可解释性 | 中等 | 高(引用可溯源到图与原文) |
| 构建成本 | 中等(自动抽取) | 较高(建议引入领域 Schema) |
| 适用问题 | 全局性、关联性问答 | 严谨推理、专业问答 |
图数据库 RAG / KAG 能应用到哪里?
1. 金融风控与合规
- 反欺诈:通过「账户—设备—IP—交易」关系网发现团伙欺诈
- 合规审查:合同条款、监管规则与交易行为的关联检索
- 投研问答:基于公告、研报知识图谱的精准问答与溯源
2. 医疗与生命科学
- 辅助诊断:症状—疾病—药物—基因的多跳推理
- 药物研发:分子结构、靶点、通路图谱(参考 GraphGPT / AlphaFold 思路)
- 医保审核:规则图谱 + 病例关联判断
3. 法律与政务
- 类案检索:法条、判例、案由关系图谱
- 政策问答:政策文件结构化 + 知识图谱,精准溯源到具体条款
- 政务知识库:跨部门事项办理路径推理
4. 企业知识管理
- 技术文档问答:API、架构、故障案例的关系网络
- 客服知识库:从「问答对」升级为「知识图谱」,解决多跳问题
- 代码与架构治理:服务依赖图谱、调用链问答
5. 科研与情报分析
- 文献综述:自动抽取研究主题、方法、结论构成图谱
- 情报关联:人物—组织—事件网络分析
6. 网络安全
- 攻击溯源:资产—漏洞—攻击路径图谱
- 威胁情报:IOC(失陷指标)关联推理
实践建议
什么时候用哪种方案?
| 场景 | 推荐方案 |
|---|---|
| 简单 FAQ、单文档问答 | 传统向量 RAG 即可 |
| 需要多跳关联、全局摘要 | GraphRAG |
| 专业领域、强可解释、强准确 | KAG |
| 已有知识图谱资产 | KAG / 图数据库增强 |
技术选型
- 图数据库:Neo4j(上手快)/ Nebula Graph(海量分布式)
- GraphRAG:微软 graphrag 库(Python 生态)
- KAG:蚂蚁 KAG 开源框架(基于 OpenSPG)
落地注意点
- 知识抽取质量决定上限:领域 Schema 很关键
- 图谱规模与性能:百亿边要选分布式图库
- 图谱 + 原文协同:不要只信图,也要保留原文检索兜底
- 可解释与溯源:金融/医疗必须能给出引用
总结
传统 RAG 用「向量」找回相似的片段;GraphRAG 用「图」找回关联的网络;KAG 用「知识图谱 + 逻辑推理」做严谨、可解释的专业问答。
三者并非替代关系,而是能力递进:
- 向量 RAG:快、省、够用
- 图 RAG(GraphRAG):能看到关系与全局
- KAG:专业、严谨、可溯源
理解它们的差异,才能在「通用问答」到「专业决策」的不同场景里选对方案。
💡 延伸阅读
- 微软 GraphRAG 官方仓库与论文(From Local to Global)
- 蚂蚁 KAG / OpenSPG 开源文档
- 知识图谱 + LLM 的更多融合范式(GraphGPT、G-Retriever、HippoRAG 等)