KG+RAG融合:应用案例分析:知识图谱+向量检索检索增强
知识图谱与RAG融合检索召回的智能问答系统,效果提升。
论文名《大语言模型融合知识图谱与向量检索的问答系统》
大模型的问答系统存在幻觉、失效过期等问题,且难以捕捉实体之间的复杂关系,导致结果偏差。该论文提出一种结合知识图谱搜索和向量搜索实现检索结果优化。系统包括图查询模型微调、知识图谱抽取模型微调、知识图谱与向量数据库构建、融合检索与排序 4 个模 块。图查询模型和知识图谱抽取模型分别用于生成图查询语句和抽取三元组知识; 知识图谱存储在 Neo4j 中,文本向量存储在向量数据库中( postgres vector,PGVector) 中; 融合检索综合利用知识图谱和向量搜索结果。

1、引言
1.1 问答系统发展
- 基于规则的问答系统
- 基于深度学习的问答系统
- 基于大模型的问答系统
1.2 RAG向量搜索
向量搜索[6-7]的辅助,大模型解决了部分幻觉方面的问题,但初始检索段落的选取过程 并不透明,搜索结果的排名完全依赖于语义相似性模型的内部运作,导致用户在知识检索过程中难 以评估结果的关联性,限制了其进一步探索数据关 系的能力。此外,当前方法无法有效地建立文档之间的多重关系,例如结构、时间、实体等关系,导致结果向量搜索结果有所偏差。
1.3 KG+传统RAG
为了克服基于大模型的问答系统的缺陷,提出 一种基于知识图谱和向量数据库的融合问答系统, 充分发挥两种知识源的优势,规避各自的不足之处。通过融合大语言模型微调与知识图谱及向量 检索技术,旨在解决现有问答系统中的幻觉和结果 偏差问题,提升问答系统的准确性和全面性。
2.技术路线
2.1 向量检索(RAG,Retrieval-Augmented Generation)
向量检索通过将文本转换为向量,并利用向量 的相似性进行检索,能够快速找到与查询相关的文 档。然而,当前的向量检索方法在初始检索段落的 选取过程并不透明,搜索结果的排名完全依赖于语 义相似性模型的内部运作,导致在知识检索过程中 难以评估结果的关联性,限制了其进一步探索数据 关系的能力。此外,当前方法无法有效地建立文档 之间的多重关系,如结构、时间、实体等关系,导致 结果向量搜索结果有所偏差。
2.1.1 定义
向量检索就是给定一个向量,从大数据量的向 量库中找到与该向量最相似的 k 个向量。欧式距离 表示欧几里得空间中两点间的直线距离,值越小说 明距离越近。其计算公式为

式( 4) 中: x、y 分别为两个不同的向量,其中,x = ( x1,x2,…,xn ) ,y = ( y1,y2,…,yn ) ; n 为向量的维 度; xn 和 yn 分别为向量 x 和 y 在第 i 个维度上的值。
余弦相似度通过测量两个向量的夹角的余弦 值来度量它们之间的相似性。0°角的余弦值为 1, 而其他任何角度的余弦值都不大于 1; 并且其最小 值是 - 1。从而两个向量之间的角度的余弦值确定 两个向量是否大致指向相同的方向。余弦相似度计算公式为

2.1.2 向量检索算法
| 模块 | 核心内容 |
|---|---|
| 分类依据 | 根据向量搜索过程中 “精度” 与 “性能” 的权衡关系,将主流向量搜索算法分为两类:暴力检索算法、近似近邻检索算法(ANN)。 |
| 1. 暴力检索算法(Brute Force) | - 核心原理:通过遍历向量库中的每一条向量,与目标查询向量进行全量相似度计算(如欧氏距离、余弦相似度等),筛选出相似度最高的结果。 - 核心特点: 1. 精度:无精度损失,能获取精确的近邻结果(召回率 100%); 2. 性能:随着向量库规模扩大(如百万 / 亿级向量),计算量呈线性增长,检索速度显著下降,仅适用于小规模向量库场景; - 适用场景:向量数量较少(如万级以内)、对检索精度要求极高、对响应时间不敏感的场景(如小规模实验验证、小数据集分析)。 |
| 2. 近似近邻检索算法(ANN) | - 核心原理:通过构建特定数据结构(如索引)或采用近似计算策略,避免全量向量遍历,在 “精度” 与 “性能” 间做权衡,以少量召回率损失换取大幅提升的检索速度。 - 核心特点: 1. 精度:存在一定召回率损失(非 100% 精确),但可通过参数调优平衡精度与速度; 2. 性能:检索效率高,支持大规模向量库(如千万 / 亿级)的快速查询,响应时间远低于暴力检索; - 适用场景:向量数量庞大(如工业级大规模数据)、对检索响应速度要求高、可接受少量精度损失的场景(如推荐系统、图像检索、自然语言处理语义匹配)。 |
| 典型 ANN 工具:FAISS | - 开发背景:由 Facebook AI(现 Meta AI)团队开源的向量聚类与相似性搜索库(文献引用标识 [17]); - 核心功能: 1. 支持稠密向量的高效相似度搜索(如欧氏距离、余弦相似度等); 2. 支持向量聚类操作,辅助大规模向量数据的预处理与管理; - 关键优势: 1. 规模支持:可高效处理十亿级别(10^9)的稠密向量搜索,适配超大规模数据场景; 2. 成熟度:工业界广泛应用,算法稳定性与性能经过大规模实践验证,是目前较成熟的近似近邻搜索库之一; - 适用场景:大规模稠密向量检索任务,如海量图像特征匹配、大规模语言模型(LLM)的向量数据库检索、推荐系统中的用户 / 物品向量匹配等 |
FAISS 核心原理为乘积量化( product quantization,PQ) 和倒排乘积量化( inverted file index product quantization,IVFPQ) ,这两种方法是 FAISS 实现高速,少内存以及精确检索的主要手段。
2.1.2.1 乘积量化
向量量化是将由连续值构成的向量 x 从欧式空 间映射到一个由有限离散值构成的集合 l = ci,i ∈ [1,l]中,定义该映射为 q,则 q( x) ∈ L,其中 L 为 CodeBook。
乘积量化即是将向量分割成多段后,对每一段 分别进行向量量化。假设将向量维度为 D,切分成 m 段,则每段的维度大小为 D* = D m,对于第 i 个分 段,向量表示为 [xi 1,xi 2,…,xi D,],对应的 CodeBook 为 Li。在索引训练完成后,全局的 CodeBook 为各个 分段量化结果的乘积 L = L1 L2…Lm。
向量检索采用非对称式距离计算( Asymmetric distance computation,ADC) ,计算公式为
![]()
式( 6) 中: q 为用于向量量化的函数; qj ( x) 为 x 向 量第 j 个子向量的量化,即第 j 个子向量所在的聚类中心向量。
2.1.2.2 倒排乘积量化
该算法先将 N 个向量使用 K-means 聚成 k' 个 类,每个类均用聚类中心向量表示,然后计算原始 向量与其所在聚类中心向量的残差向量,使用上文 PQ 量化器对该残差向量编码,并将编码后的结果挂 在原始向量所在的类目 ID 的倒排链上,方便快速检索。
2.2 知识图谱 KG,KnowledgeGraph
知识图谱[10-11]( knowledge graph,KG) 是一种用于组织和表示知识的图形化结构,旨在捕捉实体之 间的关系以及它们的属性。它基于图论理论,将现 实世界的实体、概念或事件表示为节点,并用边表示它们之间的关系。知识图谱由三元组( 主体、谓 词、客体) 组成,通常使用 RDF( 资源描述框架) 或 OWL ( Web 本 体 语 言 ) 等语义网络模型进行表示[12]。
知识图谱的构建涉及知识获取、信息提取、实体关系建模[13]、语义表示[14]等步骤,并通过统一的 标准和语义丰富的关系描述来连接不同的数据源, 为机器和人类理解提供了框架。
知识图谱也可以进行知识抽取与转化,通过微调后的大模型,从原文中抽取信息构建知识图谱, 并将知识图谱中的信息转化为图查询的形式,实现 从自然语言到图数据库的信息检索[15]。
知识图谱( KGs) 以一组三组的形式包含丰富的 事实知识 g = { ( e,r,e') ⊆ E × R × E} ,其中,e、 e' ∈ E 以及 r ∈ R,分别为实体与关系的集合。关系路径表示一系列关系的集合: z = { r1, r2,…,rl} ,其中,ri ∈ R 为路径中第 i 个关系,l 为 路径的长度。
推理路径表示知识谱图中,一个关系路径的一 个实例,具体表现为 wz = e0 r →— 1 e1 r →— 2 … r →— l el, 其中,ei ∈ E 为第 i 个实体,ri 为关系路径 z 中的第 i 个关系,在推理路径实例中,连接不同的实体,使得 实体之间通过特定的关系形成一个有向的路径,表 示推理路径在知识谱图中的一个实例,具体表现为 实体与关系组成的序列
2.2.1 基于微调大模型 LoRA 的知识抽取
基于知识图谱的知识抽取表示,给定一个自然 语言问题 q 以及一个知识图谱 g,任务基于知识图 谱 g,设计函数 f 来预测 a ∈ Aq,如 a = f( q,g) 。其 中,a 为从知识图谱中抽取出来的与问题 q 相关的 实体或属性等信息,Aq 为所有可能的答案组成的集 合,即所有满足条件的 a 的集合。利用微调后的大模型,实现 a = f( q,g) 快速实 现知识抽取,实现自然语言向自然语言查询转换, 实现如“找出所有喜欢猫的人和他们的宠物”,然后 输出一句图查询 Cipher 语句,如“MATCH ( p: Person) - [: LIKES]- > ( a: Animal) WHERE a. type = ‘cat’RETURN p,a”。
2.2.1.1 LoRA微调
采用低秩自适应( low-rank adaptation, LoRA) 方法[16]进行微调。LoRA 是一种用于微调大型语言模型的技术, 它通过在预训练模型的权重矩阵上添加低秩的可 训练矩阵,来实现模型的适应。在原始 PLM ( pretrained language model) 模型旁增加一个旁路,进行 降维再升维的操作,实现模拟 intrinsic rank。
两种模型:
- 根据自然语言生成图查询语句的模型。输 入自然语言描述,输出图查询语句,从而从图数据 库中检索信息。
- 拆解原文为知识图谱实体、关系、概念三元组 形式的模型。实现信息抽取,将原文 信息转化为知识图谱三元组。
2.2.2 知识图谱构建
利用微调后的大模型,对数据进行智能解析以实现进行实体抽取、关系抽取、事件抽取、因果关系抽取等,支持多种大模型、遵循指令和自定义知识 类型、格式。基于内容,完成知识抽取。例如,给定一个句子“诸葛亮,字孔明,三国时期杰出的军事 家、文学家、发 明 家”,则 提 取 内 容 为: 实 体“诸 葛 亮”,属性提及“三国时期”。同时将抽取的数据存 储至高性能图数据库中,采用 Neo4j [20]( 图 1) 进行 数据存储。Neo4j 提供高性能图数据存储模式,并提供了高效的关联查询,可以配合知识图谱抽取模型微调进行快速知识检索。
2.3 混合排序检索 KG+RAG
文章提出一种混合搜索方法,对于给定的查询,使用此混合搜索策略 的搜索结果不仅包括与查询在语义上相关的文本块,还包括源自 KG 的其他关联信息。这些补充数据有助于为模型的进一步分析提供更详细和深入的推理。KG 的合并能够捕获不同实体之间的复杂关系,从而丰富对查询的上下文理解。
多阶段检索过程:包括基于 KG 的构建与向量搜索,与直 接提问的向量搜索,结果取并集作为结果。

流程概述:
该问题处理系统采用 “双路并行检索 + 结果整合” 的核心逻辑,通过 7 个关键步骤实现对用户问题的理解、检索、推理与响应生成,其中步骤 3-5 构成 “意图识别与知识图谱检索” 子流程,与步骤 2 的 “文本向量检索” 形成两条并行检索路径。
-
步骤 1:问题理解与双路检索启动
- 系统首先对用户问题进行理解和处理;
- 确定采用两条并行的检索路径处理该问题。
-
步骤 2:文本向量检索(并行路径之一)
- 直接使用用户问题的文本进行向量检索。
-
步骤 3-5:意图识别和知识图谱检索(并行路径之二)
- 步骤 3:意图识别,分析用户问题的意图;
- 步骤 4:知识图谱检索,基于识别的意图在知识图谱中进行初步检索;
- 步骤 5:知识图谱推理,对知识图谱的检索结果进行进一步的推理和分析。
-
步骤 6:综合排序
- 将步骤 2(文本向量检索)与步骤 5(知识图谱推理后)两条检索路径的结果进行整合和排序,确定最相关和最有价值的信息。
-
步骤 7:Prompt 提示上下文生成
- 将步骤 6 中经过筛选和排序的知识以文字形式整合,形成 Prompt 提示上下文,作为对用户问题的响应基础。


3.应用场景
利用向量检索与知识图谱,在大模型问答领域 进行融合检索并结果排序的方法,可以应用于一些 需要从多种数据源中获取相关的知识内容,以及对 知识内容进行排序和展示的场景。
(1) 政策制定。政府部门或企业机构可以提出 一些政策相 关 的 问 题,如“如何提高农村教育水 平?”,系统可以利用向量检索和知识图谱检索,从多种数据源中检索出相关的知识内容,如中外的政 策、案例、数据、评价等,然后根据一些排序规则,有效性、可行性、创新性等,对结果进行排序,返回 给用户,帮助用户制定合理和有效的政策。
(2) 项目管理。项目团队或企业部门可以提出 一些项目相关的问题,如“如何优化项目的进度和 质量?”,系统可以利用向量检索和知识图谱检索, 从多种数据源中检索出相关的知识内容,如项目的 目标、计划、资源、风险、反馈等,然后根据一些排序 规则,如紧急性、重要性、优先级等,对结果进行排 序,返回给用户,帮助用户管理和优化项目的执行 和结果。
(3) 信息检索。信息工作者或企业员工可以提 出一些信息相关的问题,如“什么是区块链技术?”, 系统可以利用向量检索和知识图谱检索,从多种数 据源中检索出相关的知识内容,如定义、原理、应 用、发展、趋势等,然后根据一些排序规则,如准确 性、全面性、新颖性等,对结果进行排序,返回给用 户,帮助用户获取和理解所需的信息。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)