引言:向量检索的极限与幻觉的根源

在LLM(大型语言模型)时代,RAG(检索增强生成)已成为提升模型准确性和减少幻觉的利器。然而,许多初学者往往止步于朴素的向量相似度检索。这种方法在面对复杂查询、多义词或低频词时,往往力不从心,导致检索结果不精确,进而影响LLM的生成质量,甚至产生“一本正经地胡说八道”的幻觉。

为什么单纯的相似度搜索不足以应对复杂问题?其核心在于向量空间表示的局限性。虽然向量能捕捉语义相似性,但对于关键词的精确匹配、实体的识别以及深层逻辑关系的理解,它显得力不从心。

高级检索策略三板斧

为了突破朴素RAG的瓶颈,我们需要引入更精妙的检索策略。

单一的向量搜索或关键词搜索都有其优缺点。关键词搜索(如BM25)在精确匹配和处理OOV(Out-Of-Vocabulary)词汇上表现出色,而向量搜索则擅长捕捉语义关联。混合搜索的精髓在于结合两者的优势

在实践中,我们可以并行执行关键词搜索(例如,基于Elasticsearch)和向量搜索(基于Faiss或其他向量数据库),然后对两者的结果进行加权融合或交叉排序。这种方法能够显著提升检索结果的召回率和相关性。例如,当用户查询“人工智能在医疗领域的应用”时,BM25能精准匹配到“医疗”和“人工智能”,而向量搜索则能识别出“临床诊断”、“药物研发”等语义相关的概念。

2. 重排(Re-ranking)

初步检索阶段往往会返回大量候选文档,其中不乏噪音。重排阶段的目标是对这些初步结果进行精细排序,从而将最相关的文档排到前面

Cross-Encoder模型是常用的重排器。与Bi-Encoder(用于生成向量)不同,Cross-Encoder将查询和候选文档拼接后同时输入模型,让模型更深入地理解查询和文档之间的交互关系,从而给出更精准的相关性分数。通过对Top-K个初选结果进行Cross-Encoder重排,我们能大幅提升最终提供给LLM的上下文质量。

3. 查询重写(Query Rewriting)

用户输入的原始查询有时可能不够清晰、完整,或者包含多余信息,不利于直接进行检索。查询重写利用LLM的能力,将用户的原始问题改写成更适合检索的形态。

例如,HyDE(Hypothetical Document Embedding)策略就是一种常见的查询重写方式。LLM首先根据原始查询生成一个“假设性”的答案或文档,然后利用这个假设性文档的向量表示进行检索。这种方法可以有效弥补原始查询信息不足的缺陷,引导检索系统找到更相关的文档。LLM也可以被用来消除查询中的歧义,或者扩展查询中包含的缩写。

知识图谱赋能:从“相关”到“理解”

高级检索策略解决了“找到相关信息”的问题,但如何从“相关”提升到“理解”?知识图谱(Knowledge Graph, KG)提供了答案。KG以实体-关系-实体三元组的形式,清晰地表达了世界中的事实和概念之间的关联,这正是传统向量空间难以捕捉的结构化知识。

我们可以利用LLM从非结构化文本中自动构建实体-关系图谱。例如,通过实体识别(Named Entity Recognition, NER)和关系抽取(Relation Extraction, RE)技术,结合NetworkX等图数据库工具,将文本转化为结构化的知识。

在RAG流程中集成知识图谱,通常有两种策略:

  • 实体链接与扩展: 当用户查询中识别出实体时,首先在知识图谱中进行实体链接。一旦实体被确认,我们可以利用图谱关系(例如,该实体的属性、它与其他实体的关联)来扩展查询上下文,为LLM提供更丰富的背景知识,而不仅仅是原始文本段落。
  • 图谱问答与混合检索: 对于涉及复杂事实和推理的查询,可以直接在知识图谱上进行查询(如SPARQL),获取精确的结构化答案。然后,将图谱检索到的结构化信息与文本检索到的非结构化信息结合,共同输入LLM。

架构图与总结

构建一个高级RAG系统,是一个多阶段、多策略协同工作的过程。以下是一个简化的架构图:

用户查询
    ↓
[查询预处理/重写 (LLM/HyDE)]
    ↓
[混合检索 (关键词BM25 + 向量FAISS)]
    ↓
[初步结果重排 (Cross-Encoder)]
    ↓
[知识图谱增强 (实体链接/关系扩展)]
    ↓
[上下文构建]
    ↓
[LLM生成]
    ↓
用户答案

总结:

  • 混合搜索扩大召回,兼顾精确匹配与语义相似。
  • 重排提升精度,将最相关的信息置顶。
  • 查询重写优化用户意图,生成更利于检索的查询。
  • 知识图谱从结构化层面理解信息,提供更深层次的上下文和推理能力。

通过综合运用这些高级策略,我们能够构建出更健壮、更智能的RAG系统,显著提升LLM在复杂场景下的性能和可靠性,真正将LLM从“有趣的玩具”转化为“可靠的生产工具”。这不仅是对技术能力的证明,更是对解决实际业务痛点的承诺。