跳到主要内容

知识图谱回归:为什么 RAG 团队正在为检索添加结构化数据

· 阅读需 9 分钟
Tian Pan
Software Engineer

你的 RAG 管道在回答单一事实问题时表现出色。问它"我们的退款政策是什么?"它每次都能准确回答。但如果问"哪些企业版客户在合同续签后 30 天内提交了关于计费 API 的工单?"它就无能为力了。答案确实存在于你的数据中——分散在三种不同的文档类型中,通过余弦相似度无法捕捉的关系连接在一起。

这就是多跳推理问题,也是越来越多的生产级 RAG 团队在向量检索管道上嫁接知识图谱的原因。不是因为图谱又流行了,而是因为他们遇到了一个具体的准确率天花板——无论怎么调整分块大小或重新排序都无法突破。

多跳瓶颈

向量搜索通过将文本嵌入高维空间并找到与查询最近的分块来工作。对于单跳问题——"功能 X 是做什么的?"——这非常有效。相关分块位于嵌入空间的可预测邻域中。

多跳问题打破了这个模型。考虑这样一个问题:"影响了发现 DNA 双螺旋结构的人的导师的科学工作是什么?"回答这个问题需要三个独立的检索步骤:

  1. Watson 和 Crick 发现了双螺旋结构
  2. 他们的导师是 Lawrence Bragg
  3. Bragg 受到了 X 射线晶体学工作的影响

每个事实存在于不同的分块中,且没有一个与原始问题在语义上相似。向量搜索检索与查询嵌入最接近的分块,但桥接事实——连接人物、导师和影响的那些——在余弦相似度上得分很低,因为它们与问题没有表面词汇的共享。

微软的研究量化了这个差距:基线 RAG 在多跳问题上仅能覆盖 22-32% 的综合答案。相比之下,GraphRAG 达到了 72-83%——3 倍的提升来自于保留了向量丢弃的关系结构。

图增强检索的实际工作原理

这个架构比大多数团队预期的要简单。你不是在替换向量数据库——而是在添加一个层来捕获嵌入遗漏的实体关系。

图构建从实体提取开始。LLM(或更轻量的 NLP 管道)读取你的文档并提取实体及其关系:(Watson) --[MENTORED_BY]--> (Bragg)(Bragg) --[INFLUENCED_BY]--> (X-ray Crystallography)。这些三元组形成一个与向量索引并存的知识图谱。

在查询时,系统运行双重检索路径:

  • 向量路径:标准语义搜索,查找与查询相关的分块
  • 图路径:对查询进行实体识别,然后通过图遍历找到连接的实体及其关联文本

结果在发送给 LLM 生成之前进行合并。向量路径处理直接的事实检索。图路径处理关系推理——沿着实体之间的边来组装多跳证据链。

最近在 Babilong 数据集上的基准测试表明,使用个性化 PageRank 的 graph-RAG 在多跳问题上显著优于 GPT-4o 的 128k 上下文窗口。优势来自过滤:RAG 仅检索相关子图,而长上下文模型则受到无关噪声的干扰。

三种无需本体学博士学位的构建模式

知识图谱最大的反对意见一直是构建成本。传统的知识图谱项目需要数月的 schema 设计、领域专家访谈和人工审核。LLM 已将这个时间线从数月压缩到数小时——但你仍然需要根据用例选择合适的构建模式。

**模式一:LLM 驱动提取。**将文档输入 LLM,提示词类似"从该文本中提取所有实体和关系,格式为(主语,谓语,宾语)三元组。"GPT-4 或 Claude 在实体关系提取上达到约 65.8% 的准确率。这是质量最高的选项,但也是最昂贵的——你需要对语料库中的每个文档进行 LLM 调用。

加载中…
References:Let's stay in touch and Follow me for more thoughts and updates