简介:本文系统解析RAG系统中两大知识检索底座——知识图谱与向量数据库的定义、工作原理与核心差异,从数据形态、查询模式、构建成本等维度给出选型判断框架,并介绍混合检索、图增强RAG等进阶方案,帮助读者为智能问答、企业知识库等场景做出合理技术决策。
RAG(Retrieval-Augmented Generation,检索增强生成)是一种将外部知识检索与大模型生成相结合的技术框架。可以把RAG理解为“带参考书考试的学生”:在生成答案之前,先从外部知识源中查找相关资料,再结合模型自身能力组织语言输出。它主要解决大模型的三类固有问题——知识滞后(受限于训练数据截止时间)、生成幻觉(编造看似合理实则虚假的信息)、领域知识不足,同时规避了为补充知识而进行模型微调的高昂成本。
RAG的核心流程可概括为“检索—增强—生成”三步:
而“选择知识图谱还是向量数据库”,本质上是在为检索环节选择不同的知识组织与检索方式。这一选择决定了RAG系统能“看懂什么、找到什么、答对什么”,是架构设计中的关键决策。
向量数据库是专门用于存储、管理和高效检索高维向量数据的数据库系统。计算机无法直接理解文本、图像等非结构化数据,向量数据库通过嵌入模型把它们转化为类似“数字指纹”的高维向量,再借助相似度算法实现快速语义检索。
其核心技术链路包含三个环节:
区别于传统数据库的关键词匹配,向量数据库支持语义级搜索:例如“苹果手机”与“iPhone”关键词完全不同,但语义相近、向量距离很小,因此可以被精准匹配到。
知识图谱是一种以图结构表示知识的方式:它把现实世界中的实体(人、部门、制度、产品、条款)抽象为节点,把实体之间的语义关系抽象为边,形成一张由“实体—关系—实体”构成的事实网络。图中的基本表达单元是三元组,例如:(加班审批流程)—[隶属于]→(考勤管理制度)—[引用]→(员工手册总则)。
可以从三个视角理解知识图谱:
在智能问答、企业知识库、制度咨询等落地场景中,大模型的知识滞后与幻觉是核心痛点,RAG通过“外部知识检索+大模型生成”的模式提供了关键解决思路。而在RAG的整条链路中,检索层的质量决定了系统的上限——如果检索不到正确知识,再强的生成模型也无法给出可靠答案。
问题在于,企业知识并非以同一种形态存在:
向量数据库擅长前者,知识图谱擅长后者。选错底座的典型后果是:用向量检索回答需要关系推理的问题时,答案“似是而非”;用图谱回答口语化的长文本问题时,召回“干瘪不全”。理解两者能力边界,是避免这类结构性失误的前提。
典型流程为“文档分块→向量化入库→相似度检索→上下文注入”:
示意性伪代码:
blocks = split_documents(docs)vectors = [embed(block) for block in blocks]vector_store.build_index(vectors, metadata=blocks)def answer(question):q_vec = embed(question)hits = vector_store.search(q_vec, top_k=5)context = "\n".join([hit.text for hit in hits])return llm.generate(prompt=f"请依据以下资料回答问题:\n{context}\n问题:{question}")
这条路线的本质是“模糊语义匹配”:只要问题与文档在向量空间中位置相近即可召回,不要求字面或句式一致。
典型流程为“实体抽取→关系抽取→图谱构建→图查询→上下文注入”:
这条路线的本质是“精确关系推理”:它不依赖语义相似,而是沿着边进行多跳遍历,适合回答“A所依赖的B条款又被哪些下游制度引用”这类链式问题。
| 对比维度 | 向量数据库 | 知识图谱 |
|---|---|---|
| 数据模型 | 高维向量+元数据 | 节点(实体)+边(关系) |
| 检索范式 | 近似最近邻相似度检索 | 图查询与子图遍历 |
| 擅长问题 | 语义相关的开放性问题 | 需要关系推理与多跳追溯的问题 |
| 匹配方式 | 模糊语义匹配 | 精确结构匹配 |
| 可解释性 | 较弱,难以解释命中原因 | 强,可展示完整推理路径 |
| 构建成本 | 较低,分块与向量化自动化程度高 | 较高,实体关系抽取需人工校验 |
| 维护成本 | 文档更新后重新分块向量化即可 | 需同步维护实体、关系与一致性 |
| 典型短板 | 多跳关系问题易答错、存在召回噪声 | 口语化模糊问题召回受限、冷启动难 |
其中有两个差异值得展开:
其一,“相似”与“相关”是两回事。向量数据库回答的是“哪些内容与问题语义相近”;知识图谱回答的是“哪些事实与问题存在确定关联”。例如用户问“报销被驳回后应该找谁”,向量检索可能召回所有提到“报销驳回”的段落,而图谱可以直接给出“驳回申诉→财务部门→对应审批角色”的关系链,直接命中答案。
其二,上下文组织方式不同。向量数据库以“文本块”为单位注入上下文,简单直接但可能夹带冗余信息;知识图谱以“实体+关系路径”为单位注入,信息密度高,但需要额外的子图序列化步骤,工程复杂度更高。
优先选择向量数据库的场景:
优先选择知识图谱的场景:
在工程落地形态上,团队既可以使用托管的云端向量数据库或图数据库类服务(例如百度智能云等主流云服务商提供的相应产品类目),也可以选择轻量级开源向量检索库在本地搭建原型,并搭配本地化部署的大模型运行方案保障数据隐私——具体取决于数据敏感度、团队规模与运维能力。
实际工程中,“二选一”往往不是终点,两种技术可以组合使用:
一个常见的演进路径是:先以向量数据库为主底座快速上线,验证业务价值后,针对高频复杂关系类问题逐步沉淀知识图谱,最终演进为混合架构。
回到定义本身:向量数据库是以高维向量组织知识、以语义相似度检索知识的底座,解决“模糊语义匹配”问题;知识图谱是以实体和关系组织知识、以图查询推理知识的底座,解决“精确关系推理”问题。在RAG系统中,二者不是非此即彼的对手,而是面向不同知识形态与问题类型的互补工具。
选型判断可浓缩为一句话:知识以自然语言文档为主、提问多为语义相似的开放问题时,优先向量数据库;知识高度结构化、提问需要多跳关系追溯与精确推理时,优先知识图谱;两类问题并存且都属高频时,考虑混合检索或图增强RAG架构。理解每种底座的能力边界,再对照自身数据的真实形态,选型答案自然浮现。