LLM驱动知识图谱检索:RLM-on-KG架构解析与性能评估
1. 项目概述与核心价值
最近在折腾一个挺有意思的项目,我把它叫做“RLM-on-KG”。简单来说,这是一个让大语言模型(LLM)来当“导航员”,指挥系统在知识图谱里“寻宝”的检索系统。我们都知道,传统的RAG(检索增强生成)系统,核心是靠向量检索。你把问题变成向量,去向量数据库里找最相似的文本块(chunk),然后扔给LLM去生成答案。这招对付简单、直接的问题很管用,但一旦问题变得复杂,需要把散落在文档各处、看似不相关的信息拼凑起来才能回答时,向量检索就有点力不从心了。它太依赖表面的语义相似性,而忽略了文本背后实体之间千丝万缕的结构化联系。
知识图谱(Knowledge Graph)正好能补上这块短板。它把文本里的实体(比如人物、地点、概念)和它们之间的关系抽出来,组成一张网。想象一下,你问“小说里A和B是怎么认识的?”,答案可能藏在描述A的章节、描述B的章节,以及他们共同朋友C出场的一个段落里。这三个文本块在向量空间里可能离得很远,但在知识图谱里,通过“A-认识->C<-认识-B”这条路径,它们就被联系起来了。RLM-on-KG的核心思想,就是把LLM的推理能力和知识图谱的结构化信息结合起来。我们不再让LLM被动地接收检索结果,而是让它主动拿起“工具”,在知识图谱这张地图上,自己决定往哪走、探索哪些实体、收集哪些相关的文本块。这个过程是自适应的、目标驱动的,就像一个有经验的侦探在梳理线索,而不是漫无目的地翻找。
这个项目的直接价值,是显著提升了在证据高度分散的复杂查询上的检索效果。在我们的测试中,相比固定的、基于规则的图谱遍历方法,让LLM来控制的系统在整体F1分数上提升了2.47个百分点。别小看这几个点,在需要从十几个甚至几十个分散文本块中找答案的场景下,LLM控制器的胜率能达到62%,对于最棘手的“复杂推理+高分散度”问题,优势更是高达71%。这意味着,对于事实检索、多跳推理这类任务,系统能更精准地找到那些被传统方法遗漏的关键证据。更深层的价值在于,它验证了“将发现(Discovery)与排序(Ranking)分离”的架构思路是有效的:让LLM专注于利用图谱结构去扩大候选池(发现),而让更稳定、廉价的向量模型负责最终的优劣排序(判断)。这为构建更高效、更智能的新一代检索系统提供了一个清晰且可实践的设计范式。
2. 系统架构与核心组件设计
2.1 整体架构:控制器与工具的执行循环
RLM-on-KG的架构可以理解为一个基于LLM的智能体(Agent)系统,它在知识图谱这个“环境”中执行任务。整个系统运行在一个循环中:LLM控制器接收当前状态(已访问的实体、已收集的文本块、问题),决定下一步调用哪个工具,工具执行后返回结果并更新状态,如此往复,直到满足停止条件。
系统的核心组件包括:
- 知识图谱构建层:这是系统的“记忆”基础。我们从原始文档(如小说文本)出发,经过分块(Chunking)、命名实体识别(NER)来抽取实体,并基于“共现”关系构建提及图(Mention Graph)。所谓共现,就是指两个实体出现在同一个文本块中。这个图结构相对简单,但足以捕获实体间的初步关联。所有实体和文本块都有唯一的RDF标识符,确保了可追溯性。
- 工具集(Tools):这是LLM控制器可以操作的“手脚”。我们精心设计了一组最小化但功能完备的工具:
entity_search(Q, k): 根据查询Q,返回最相关的k个实体。这是探索的起点。get_chunks_for_entity(e): 获取提及了实体e的所有文本块。这是收集证据的主要方式。expand_neighbors(e): 获取在图中与实体e直接相连(一度关系)的所有邻居实体。用于扩展探索边界。vector_search(Q, k): 传统的向量检索,作为保底和补充手段。- (注:在最终系统中,我们移除了
sub_query,read_chunk,summarize_chunks,rerank_evidence等需要额外LLM调用的复杂工具,以简化流程、控制成本。)
- LLM控制器:这是系统的“大脑”。我们使用Gemini 2.0 Flash(温度=0)作为默认控制器。它的任务是根据当前探索状态和问题,动态选择下一个最有可能带来高价值证据的工具和参数。例如,当发现某个实体路径的回报开始递减时,它可能会选择回溯或尝试新的方向。
- 检索与排序模块:当探索停止后,系统会得到一个候选文本块的集合。这里有一个关键设计:我们不对LLM探索过程中收集的块进行复杂的重排序,而是直接使用纯向量相似度对最终收集到的所有块进行重新排序。这个设计源于我们迭代中的一个重要发现:LLM的价值在于“发现”更多相关块,而不在于“判断”哪个块更好。后者交给更擅长此道的向量模型来完成更可靠。
2.2 与基线系统的对比:GraphRAG-local与启发式遍历
为了准确评估LLM控制器的价值,我们设定了两个关键的基线系统