> ## Content Index
> Fetch the complete content index at: https://yonglun.me/llms.txt
> Use this file to discover other available public pages before exploring further.

# 检索增强生成（RAG）当前技术路线与前沿进展
- URL: https://yonglun.me/rag101/
- Published: 2025-06-05T13:02:33.000Z
- Updated: 2025-06-05T13:10:42.000Z
- Description: 检索增强生成 (RAG) 是一种旨在通过整合外部知识库来增强大型语言模型 (LLMs) 能力的技术范式。本文对检索增强生成（RAG）当前技术路线与前沿进展进行了讨论。
- Author: Yonglun
- Tags: AI, RAG, #lang-zh

# **1\. 检索增强生成 (RAG) 导论**

## **1.1\. RAG 的定义：核心概念、目标与优势**

检索增强生成 (Retrieval-Augmented Generation, RAG) 是一种旨在通过整合外部知识库来增强大型语言模型 (Large Language Models, LLMs) 能力的技术范式。其核心目标是使 LLM 能够生成更准确、更新、且可验证的文本内容，从而克服传统 LLM 在知识局限性和“幻觉”问题上的固有缺陷 。传统 LLM 的知识受限于其训练数据，导致知识截止 (knowledge cut-off) 问题，并且在面对其知识范围之外或需要高度事实性的查询时，容易产生不准确甚至完全错误的“幻觉”内容。RAG 通过在生成过程中动态地从外部数据源检索相关信息，并将这些信息作为上下文提供给 LLM，从而将模型的回答“锚定”在可靠的外部事实上。

RAG 的关键优势体现在多个方面：

- **获取实时/领域特定知识**: RAG 系统能够连接到实时更新的数据库或特定领域的知识库，使 LLM 能够获取并利用其预训练数据中未包含的最新信息或专业知识 。
- **减少幻觉**: 通过将生成内容与检索到的外部事实进行关联，RAG 显著降低了 LLM 产生不准确或捏造信息的风险 。
- **提升用户信任**: RAG 系统通常能够提供其回答所依据的信息来源，增强了透明度和可验证性，从而提升用户对系统输出的信任度 。
- **成本效益**: 相较于为获取新知识或适应特定领域而对整个 LLM 进行重新训练或大规模微调，RAG 提供了一种更为经济高效的方法来扩展模型的知识边界 。

从更深层次看，RAG 可以被视为一种非参数学习方法，它通过建立 LLM 与外部数据库之间的连接，实现了对模型能力的即时增强，而无需修改模型本身的参数。这种动态的知识注入机制，使得 RAG 不仅仅是一种技术优化，更是一种推动 LLM 从通用型工具向专业化、高可靠性信息系统转变的范式性革新。LLM 本身强大的参数化知识与 RAG 提供的动态、非参数化外部知识相结合，使得模型能够处理更广泛、更复杂的知识密集型任务，并生成更具上下文感知性和事实一致性的响应。

## **1.2\. RAG 基础流程：宏观视角**

从宏观层面审视，一个典型的 RAG 系统可以大致划分为两个核心阶段：检索 (Retrieval) 和生成 (Generation) 。这两个阶段紧密协作，共同完成从用户查询到最终响应的完整流程。

**检索阶段** 的主要任务是从大规模知识库中准确、高效地找出与用户查询最相关的信息片段。这一阶段通常包含一系列复杂的操作，例如：

- **预处理 (Preprocessing)**：对原始数据进行清洗、格式转换、分块等操作，以便于后续的索引和检索。
- **检索 (Retrieval)**：根据用户查询，利用不同的检索算法（如稀疏检索、密集检索）在索引化的知识库中进行搜索。
- **重排序 (Reranking)**：对初步检索到的信息片段进行重新排序，以提高最相关信息被优先选中的概率。
- **剪枝 (Pruning)**：去除不相关或冗余的信息，确保传递给生成阶段的上下文简洁有效。

**生成阶段** 则侧重于利用检索到的信息来指导 LLM 生成最终的回答。这一阶段的关键组件包括：

- **检索规划 (Retrieval Planning)**：决定何时以及如何进行检索，尤其是在处理复杂查询或需要多轮交互的场景下。
- **多源知识整合 (Multi-source Knowledge Integration)**：当信息来源于多个文档或数据源时，需要有效地整合这些信息，解决潜在的冲突或不一致。
- **逻辑推理 (Logical Reasoning)**：基于检索到的信息和用户的查询进行推理，生成符合逻辑、内容连贯的回答。

除了这两个核心阶段，RAG 系统还包含一系列相互关联的上游和下游元素，例如文档分块 (Document Chunking)、嵌入生成 (Embedding Generation) 以及确保系统安全性和可信度的机制。这些元素共同构成了 RAG 系统的完整运作流程，确保系统能够高效、准确地响应用户需求。

## **1.3\. 底层趋势：以知识为核心的方法**

RAG 技术的核心驱动力在于其“以知识为核心”的设计理念。它将外部知识的获取与利用置于语言生成过程的中心地位，这标志着 LLM 应用方式的一次重要转变。通过将 LLM 与特定领域的知识库相连接，RAG 能够将通用的 LLM 转变为具备特定领域专业知识的“专家系统”。

这种转变的意义深远。首先，它使得 LLM 的知识不再局限于其训练数据的静态快照。传统 LLM 一旦训练完成，其内部知识便固定下来，无法感知后续发生的新事件或领域内的最新进展。RAG 通过动态检索，使得 LLM 能够即时获取并利用这些“新鲜”知识，从而生成与当前世界同步的、更具时效性的回答。

其次，RAG 使得 LLM 能够更深入地理解和应用于特定领域。无论是法律、医疗、金融还是工程领域，都存在大量结构化和非结构化的专业知识。通过将这些专业知识库接入 RAG 系统，LLM 可以生成高度专业化、符合领域规范的文本，执行特定领域的问答、分析和决策支持任务。

更重要的是，这种以知识为核心的方法，为提升 LLM 的可靠性和可信度开辟了新途径。通过明确地将模型的回答与检索到的外部证据相关联，RAG 不仅减少了“幻觉”的产生，还为用户提供了一种追溯信息来源、验证回答准确性的机制。这对于在关键决策场景或对信息准确性有严格要求的应用中部署 LLM 至关重要。因此，RAG 不仅仅是一种技术手段，更是一种战略性的方法论，它通过将外部知识的动态利用置于核心，极大地拓展了 LLM 的应用边界和实用价值，推动了更复杂、更可靠的自然语言处理系统的发展。

# **2\. 基础路线：朴素 RAG (Naive RAG)**

朴素 RAG (Naive RAG)，亦称为基础 RAG，构成了 RAG 技术路线的起点。它建立了一个相对简单直接的流程，将信息检索与语言模型生成相结合，为后续更高级的 RAG 架构奠定了概念基础。

## **2.1\. 架构蓝图：索引、检索与生成**

朴素 RAG 的架构遵循一个传统且线性的处理流程，主要包括三个核心阶段：索引 (Indexing)、检索 (Retrieval) 和生成 (Generation) 。

1. 索引 (Indexing) 阶段:

此阶段的目标是将外部知识源处理并组织成可供高效检索的格式。

- **文档加载 (Document Loading)**：首先，系统从各种配置的来源（如本地文件目录、数据库、API 等）加载原始数据。这些数据可以是多种格式，例如 PDF 文档、Markdown 文件、Word 文档、网页内容，甚至是图像 。
- **文档转换 (Document Transformation) - 分块/切片 (Chunking/Splitting)**：加载后的文档，尤其是长文档，通常需要被分割成更小、更易于管理的单元，即“块” (chunks) 或“片段” (splits) 。这样做主要是为了适应 LLM 的上下文窗口限制，并提高检索结果的精确度。选择合适的分块策略至关重要，因为过小的块可能丢失全局上下文，而过大的块可能包含过多无关信息，影响检索效率和生成质量 。
- **嵌入与向量存储 (Embedding and Storing Vectors)**：每个文本块随后被转换成一个数值向量表示，称为“嵌入” (embedding) 。这个过程通常由一个预训练的嵌入模型（如 Sentence-BERT, OpenAI Ada）完成，它能捕捉文本块的语义信息。生成的文档嵌入被存储在一个专门为高效相似性搜索而优化的数据库中，即“向量数据库” (vector database)，如 FAISS, Pinecone, ChromaDB 等 。
1. 检索 (Retrieval) 阶段:

当用户提出查询时，此阶段负责从向量数据库中找到最相关的文档块。

- **查询嵌入 (Query Embedding)**：用户的原始查询（通常是一个问题或一段指令）会使用与文档嵌入相同的嵌入模型转换成一个查询向量 。
- **相似性搜索 (Similarity Search)**：系统将查询向量与向量数据库中存储的所有文档块向量进行比较。比较通常基于某种相似性度量，如余弦相似度 (cosine similarity) 或点积 (dot product) 。检索系统会返回与查询向量在语义上最相似的 Top K 个文档块 。
1. 生成 (Generation) 阶段:

此阶段利用检索到的信息来指导 LLM 生成最终的回答。

- **提示增强 (Prompt Augmentation)**：检索到的最相关的文档块与用户的原始查询（或提示）结合起来，形成一个增强的提示 (augmented prompt) 。这些文档块为 LLM 提供了额外的上下文信息。
- **LLM 响应生成 (LLM Response Generation)**：增强后的提示被输入到大型语言模型 (LLM) 中。LLM 利用其强大的语言理解和生成能力，基于提供的上下文信息来生成对用户查询的回答 。

## **2.2\. 操作流程与关键组件**

朴素 RAG 的操作流程可以概括为：用户输入一个查询，系统首先通过检索模块从预先构建好的知识库（通常是向量数据库）中获取相关的文档片段。这些检索到的片段随后与原始查询一起被整合到一个提示模板 (prompt template) 中，该模板包含了对 LLM 的指令以及用于填充查询和上下文信息的占位符。最后，这个增强了上下文的完整提示被传递给 LLM，LLM 据此生成最终的响应并呈现给用户。

朴素 RAG 系统的关键组件包括：

- **知识库 (Knowledge Base)**：存储外部信息的地方，在朴素 RAG 中通常是一个向量数据库，其中包含了经过处理（分块和嵌入）的文档 。
- **嵌入模型 (Embedding Model)**：负责将文本（查询和文档块）转换为数值向量表示，以便进行语义相似性比较 。
- **检索器 (Retriever)**：执行从知识库中根据查询向量查找最相关文档块的任务 。
- **大型语言模型 (LLM) / 生成器 (Generator)**：接收增强后的提示，并基于提供的上下文生成最终的文本响应 。

## **2.3\. 朴素 RAG 的固有局限性与挑战**

尽管朴素 RAG 实现简单且直观，但它也存在一些固有的局限性和挑战，这些问题限制了其在复杂应用场景下的性能表现：

- **低精确率 (Low Precision) 和低召回率 (Low Recall)**：检索过程可能不够精确，导致检索到的文档块与查询的实际需求不完全对齐（低精确率），或者未能检索到所有相关的文档块（低召回率）。这通常源于分块策略、嵌入质量或相似性搜索阈值设置不当。
- **信息过时或不相关的风险**：如果知识库中的信息未及时更新，或者检索器未能准确识别相关内容，LLM 可能会被提供过时或不相关的信息，从而导致生成错误的回答或产生幻觉 。
- **冗余与重复**：当检索到的多个文档块包含相似或重复的信息时，增强后的提示可能会显得冗余，LLM 的生成结果也可能出现不必要的重复 。
- **上下文整合难题**：当检索到多个相关段落时，如何有效地对它们进行排序，以及如何协调它们之间可能存在的不同风格或语气，对朴素 RAG 来说是一个挑战 。
- **过度依赖增强信息**：有时 LLM 可能会过度依赖检索到的上下文，仅仅复述其内容，而不是进行更深层次的综合、推理或创造性生成 。
- **上下文信息丢失**：过于简单的分块策略（如固定大小分块）可能会在分块边界处切割重要的上下文联系，导致单个块内信息不完整，从而牺牲了关键的上下文信息，显著损害检索准确性和上下文理解能力 。

这些局限性表明，虽然朴素 RAG 为 LLM 引入外部知识提供了一个基础框架，但其“一次性检索”和相对简单的处理流程，在面对复杂的查询、大规模知识库或对回答质量有极高要求的场景时，往往难以达到理想效果。朴素 RAG 所暴露出的这些性能瓶颈，例如检索质量不高、上下文利用不充分等，直接催生了对 RAG 流程各个环节进行优化的需求，从而推动了高级 RAG 技术路线的发展。因此，理解朴素 RAG 的不足之处，对于认识后续各种高级 RAG 策略的动机和价值至关重要。它是一个必要的起点，但对于构建真正强大和可靠的知识密集型应用而言，它本身是不够的。

# **3\. 演进中的技术路线：高级 RAG (Advanced RAG) 策略**

为了克服朴素 RAG 的种种局限性，研究者们提出了一系列高级 RAG (Advanced RAG) 策略。这些策略旨在通过优化 RAG 流程的各个阶段——即检索前 (Pre-Retrieval)、检索中 (Retrieval) 和检索后 (Post-Retrieval)——来全面提升系统的性能、鲁棒性和效率。

## **3.1\. 检索前增强（优化知识库以提升检索效果）**

检索前增强的核心目标是提升被索引数据的质量和结构，以便后续的检索过程能够更精准、更全面地获取与查询相关的信息。这一阶段的优化对于整个 RAG 系统的最终表现起着奠基性的作用。如果知识库本身准备不充分，后续的检索和生成环节即使再先进，也难以弥补源头信息的缺陷。

### **3.1.1\. 高级分块 (Chunking) 策略**

分块是将原始文档分割成小片段的过程，是 RAG 流程中的关键预处理步骤。朴素 RAG 中常用的固定大小分块虽然简单，但容易破坏文本的语义完整性。高级 RAG 则致力于采用更智能的分块策略，以期在适应模型上下文窗口限制的同时，最大限度地保留原始文档的语义信息和上下文联系。选择最佳的分块大小和策略至关重要，它直接影响检索的准确性和召回率，并且可能因具体任务和所用模型的不同而异。

- **语义分块 (Semantic Chunking)**：与固定大小分块不同，语义分块尝试根据文本的自然语义边界进行分割。例如，它可以基于句子结构、段落结束符或主题变化点来划分文本块 。这种方法有助于保持每个块内信息的连贯性和完整性，从而使得检索到的内容更具意义，也更易于 LLM 理解和利用。
- **分层分块 (Hierarchical Chunking)**：对于结构复杂的长文档，分层分块提供了一种更精细的组织方式。它可以将文本组织成嵌套的层级结构，例如，将文档划分为章节，章节再划分为段落，段落再划分为句子或更小的语义单元 。这种结构不仅有助于捕捉文档的整体主题，也能深入到具体的细节信息，为不同粒度的查询提供支持。
- **动态粒度分块 (Dynamic Granularity - 例如 Mix-of-Granularity, MoG/MoGG)**：
  - **MoG (Mix-of-Granularity)**：认识到不同类型的查询可能需要不同粒度的信息块（例如，具体问题可能适合小块，而概括性问题可能需要大块 ），MoG 方法引入了动态调整知识库检索粒度的机制。它通常利用一个经过训练的“路由器” (router) 组件，该组件借鉴了机器学习中 Mix-of-Experts 架构的思想，根据输入查询的特性来动态选择或组合不同粒度级别的参考片段 。这个路由器通过监督学习进行训练，使其能够为每个查询确定理想的块大小，从而在信息覆盖范围和相关性之间取得平衡 。
  - **MoGG (Mix-of-Granularity-Graph)**：作为 MoG 的扩展，MoGG 进一步提升了处理复杂查询的能力，特别是那些需要整合来自多个文档或文档内分散信息的查询。MoGG 的核心思想是在预处理阶段将参考文档（或整个知识库）构建成图结构 。在这个图中，相关的文本片段，即使它们在原始文档中物理位置相距遥远，也可以通过图的边连接起来，成为邻居节点。这种图结构使得系统能够更有效地检索分散的信息，并支持需要多跳推理 (multi-hop reasoning) 的任务。此外，为了解决在训练这类包含 top-k 选择的检索模型时梯度反向传播受阻的问题，MoGG 引入了一种使用“软标签” (soft labels) 的损失函数。这些软标签可以由 TF-IDF 或 RoBERTa 等离线算法或模型生成，作为近似的训练信号，从而避免在训练过程中进行硬性的 top-k 选择，使得梯度能够顺利传播，加速训练过程，同时提升模型的召回率和相关性 。

### **3.1.2\. 利用元数据 (Metadata) 增强索引与过滤**

元数据是描述数据的数据，例如文档的作者、创建日期、类别、来源、关键词等。在 RAG 系统中，为文档块添加元数据，并在索引时将其与向量嵌入一同存储，可以极大地增强检索的灵活性和精确度。

- **元数据类型**：常见的元数据可以分为：
  - 系统元数据：由系统自动生成的关于数据处理的信息，如 `chunk_id`（块ID）、`filename`（文件名）、`source`（来源路径）等 。
  - 用户定义元数据：由用户根据业务需求手动提供的描述性信息，如 `product_area`（产品领域）、`genre`（体裁）、`document_type`（文档类型）等 。
  - 自动元数据：通过模型（如 Vectorize 的 Iris 模型）从文档内容中自动提取的结构化信息，如文档标题、作者，或从块中提取的特定实体（零件号、价格等）。
- **元数据的应用**：
  - **过滤搜索空间**：元数据允许在语义搜索的基础上进行属性过滤。例如，用户可以搜索“2023年之后发布的关于‘transformer架构’的技术报告”，系统可以先通过元数据筛选出符合日期和文档类型的文档，再在这些文档中进行语义匹配 。一个具体的例子是，可以构建查询如“查找1600年之前创作的所有悲剧作品” 。
  - **提升检索相关性与排序**：元数据可以作为排序的附加依据。例如，在检索新闻文章时，可以优先展示最近发布的文章；在检索公司内部文档时，可以根据文档的“官方程度”或“更新频率”进行排序 。
  - **为 LLM 提供上下文**：元数据本身也可以作为上下文信息提供给 LLM，帮助其更好地理解检索到的内容。例如，告知 LLM 某段文字来源于“用户手册”还是“论坛讨论”，可以影响 LLM 对该信息的解读和使用方式 。

### **3.1.3\. 知识图谱 (Knowledge Graph) 构建与利用 (例如 GraphRAG)**

传统的 RAG 系统主要依赖于对扁平化文本块的检索，这在处理需要理解实体间复杂关系或进行多跳推理的查询时，往往显得力不从心。知识图谱 (Knowledge Graphs, KGs) 通过将信息表示为实体（节点）和关系（边）的网络结构，为 RAG 提供了一种更强大的知识表示和检索方式。

- **GraphRAG 的核心创新**：GraphRAG 范式通过以下关键创新来解决传统 RAG 的局限性：
  - **图结构的知识表示**：显式地捕捉实体间的关系和领域内的层级结构，使得知识的组织更符合人类的认知方式，也更利于机器进行复杂的推理 。
  - **高效的基于图的检索技术**：能够实现保留上下文的知识检索，并支持多跳推理。这意味着系统可以沿着图中的关系链条，从一个实体跳转到另一个相关实体，从而收集回答复杂问题所需的、分布在不同知识片段中的信息 。
- **解决的问题**：GraphRAG 主要致力于解决传统 RAG 在以下方面面临的挑战：
  - 专业领域中复杂查询的理解。
  - 跨分布式来源的知识整合。
  - 大规模应用时的系统效率瓶颈 。 通过利用知识图谱的结构化优势，GraphRAG 能够更深入地理解查询意图，更有效地整合分散的知识，并以更高效的方式进行检索。

### **3.1.4\. 优化索引结构与对齐**

除了上述特定的技术外，高级 RAG 还关注对索引结构本身的优化以及确保索引数据与潜在查询之间的更好对齐。这可能包括：

- **语料库预处理技术的细化**：例如，针对特定类型的文档（如金融文档）采用定制化的预处理方法，如利用 Markdown 重构文档以保留其固有结构，或对表格数据进行增强处理（如为表格单元格添加行列的文本注释）以提升上下文理解 。
- **索引策略的调整**：根据数据特性和预期查询类型，选择或设计更合适的索引策略，例如，针对需要精确匹配的场景和需要语义匹配的场景采用不同的索引方式或组合。

这些检索前增强手段共同构成了构建高性能 RAG 系统的坚实基础。它们的核心思想在于，通过更智能、更细致的数据准备工作，为后续的检索和生成阶段提供最高质量的“原材料”。如果知识库的构建阶段存在缺陷，例如分块不当导致语义割裂，或者元数据缺失导致无法有效过滤，那么即使后续的检索算法再先进，生成模型再强大，也难以完全弥补这些早期阶段引入的损失。因此，对检索前阶段的投入和优化，是决定 RAG 系统最终能否在复杂真实场景中取得成功的关键因素之一，这也反映了 RAG 技术发展中一个日益明显的趋势：数据准备本身正变得越来越“智能化”。

## **3.2\. 检索过程优化（信息溯源的创新）**

检索过程是 RAG 系统的核心环节，其目标是根据用户查询从知识库中快速、准确地找到最相关的信息。高级 RAG 策略在这一环节引入了多种创新，旨在提升检索的准确性 (accuracy)、完整性 (completeness) 和相关性 (relevance)。

### **3.2.1\. 核心检索方法学：稀疏、密集与混合检索**

不同的检索方法在匹配查询与文档方面各有优劣，高级 RAG 系统常常根据具体需求选择或组合使用它们。

- **稀疏检索 (Sparse Retrieval)**：这类方法主要基于关键词匹配，例如经典的 BM25 算法 。它们通过计算查询中的词项与文档中词项的重叠程度（通常考虑词频和逆文档频率）来评估相关性。稀疏检索的优点在于计算效率高，对于那些查询与文档之间存在直接词汇对应的场景非常有效。
- **密集检索 (Dense Retrieval)**：密集检索利用深度学习模型（通常是 Transformer 架构的编码器，如 DPR \[Karpukhin et al., 2020\] 或 Contriever \[Izacard et al., 2021\]）将查询和文档都编码到低维、稠密的向量空间中 。然后通过计算这些向量之间的相似度（如余弦相似度）来衡量相关性。密集检索的核心优势在于能够捕捉语义层面的相似性，即使查询和文档之间没有共享的关键词，只要它们在含义上相近，也能够被匹配到。这有助于克服词汇不匹配 (vocabulary mismatch) 的问题。
- **混合检索 (Hybrid Retrieval)**：为了结合稀疏检索和密集检索的优点，混合检索应运而生 。它通常将稀疏检索的得分（如 BM25 分数）和密集检索的得分（如向量相似度）通过某种方式（如加权求和）结合起来，以期获得比单一方法更鲁棒的检索性能。
  - **动态 Alpha 调优 (Dynamic Alpha Tuning, DAT)** 是一种新颖的混合检索优化技术 。传统混合检索通常使用一个固定的权重因子 (alpha) 来平衡稀疏和密集检索的贡献，这个因子往往需要离线调优。DAT 则认为最优的权重应该根据每个具体查询的特性动态调整。它利用一个 LLM 来评估稀疏检索和密集检索各自返回的 Top 1 结果的有效性，并为每个方法分配一个有效性分数。然后，根据这些分数动态计算当前查询的 alpha 值，从而更智能地平衡两种检索方式的贡献。例如，如果 LLM 判断密集检索的结果对当前查询非常有效而稀疏检索结果无效，alpha 值会偏向密集检索，反之亦然。
- **图检索 (Graph Retrieval)**：当知识库以知识图谱的形式组织时，可以利用图检索技术。这类技术不仅考虑节点（实体）本身的内容，还考虑节点之间的关系（边），从而能够执行更复杂的、基于路径或子图的检索，尤其适用于需要多跳推理的查询 。

### **3.2.2\. 查询增强 (Query Augmentation) 技术**

用户提出的原始查询往往可能存在模糊性、不完整性，或者与知识库中文档的表述方式不完全一致。查询增强技术旨在通过修改或扩展原始查询来弥合这种语义鸿沟，从而提升后续检索的准确性和完整性 **4**。

- **查询扩展 (Query Expansion)**：这类技术的目标是向原始查询中添加额外的相关词语、概念或上下文，使其能够匹配到更广泛的相关文档。
  - **LLM-QE (LLM-based Query Expansion)** 是一个典型的例子 。它利用 LLM 的生成能力来为原始查询生成“文档式”的扩展内容。例如，给定一个简短的查询，LLM 可以生成一段更详细的、可能包含该查询答案的文本。LLM-QE 的一个核心创新在于其训练方式：它设计了基于排序的奖励 (rank-based reward，评估扩展内容与真实相关文档的相似度) 和基于答案的奖励 (answer-based reward，评估扩展内容与 LLM 基于真实文档生成的答案的相关性)，并使用直接偏好优化 (Direct Preference Optimization, DPO) 算法来微调 LLM，使其生成的扩展内容更符合检索器和 LLM 本身的偏好，同时减少 LLM 在扩展过程中可能产生的幻觉 。
- **查询重写/分解 (Query Rewriting/Decomposition)**：对于复杂或多方面的查询，直接进行检索可能效果不佳。查询重写或分解技术旨在将原始复杂查询转换成更清晰、更易于检索的形式，或者将其分解为多个更简单的子查询。
  - **LevelRAG** 框架采用了一种分层搜索的策略 。它首先利用一个“高层搜索器” (high-level searcher) 将用户的原始查询分解为多个原子化的子查询 (atomic sub-queries)。这些子查询随后被分发给不同的“低层搜索器” (low-level searchers)，这些搜索器可以是稀疏检索器、密集检索器或网络搜索器。在每个低层搜索器中，LevelRAG 还利用 LLM 对分配给它的原子查询进行重写或精炼，使其更适应相应检索器的特性。最后，高层搜索器汇总来自所有低层搜索器的检索结果，以生成最终答案。这种方法的一个重要特点是它将检索逻辑（如多跳规划）与特定于检索器的查询重写分离开来，提供了更大的灵活性 。
  - **MA-RAG (Multi-Agent RAG)** 则利用多智能体协作的方式来处理复杂查询 。它包含规划器 (Planner)、步骤定义器 (Step Definer)、提取器 (Extractor) 和问答智能体 (QA Agents) 等不同角色的智能体，它们协同工作，分别处理查询消歧、证据提取、答案综合等子任务。
- **迭代式查询精炼 (Iterative Query Refinement)**：一些更高级的 RAG 系统支持迭代式的查询精炼过程。这意味着系统可以根据第一轮检索的结果，或者在持续的推理过程中，动态地调整或生成新的查询，以逐步逼近所需的信息 。

在检索过程优化的发展中，一个显著的趋势是 LLM 自身在其中扮演的角色越来越重要。最初，在朴素 RAG 中，LLM 主要作为检索结果的“消费者”，负责在给定上下文后生成答案。然而，随着研究的深入，人们发现 LLM 强大的自然语言理解和生成能力同样可以被用来优化检索过程本身，尤其是在处理用户查询的模糊性和复杂性方面。这导致了 LLM-QE 这类利用 LLM 进行查询扩展的技术，以及 LevelRAG 和 MA-RAG 这类利用 LLM 进行查询分解、重写或规划的技术的出现。甚至在 DAT 这样的混合检索策略中，LLM 也被用作评估不同检索方法有效性的“裁判”。这种 LLM 与检索模块之间更紧密的耦合和更智能的互动，标志着 RAG 系统正从简单的“检索-生成”流水线向更动态、更具适应性的信息获取与推理系统演进。检索器不再仅仅是一个静态的工具，而是融入到一个由 LLM 驱动的、循环的信息搜寻与确认的闭环之中。

## **3.3\. 检索后精炼（为生成准备上下文）**

即使检索过程已经尽可能地优化，检索到的信息片段在直接传递给生成器 LLM 之前，往往还需要进一步的处理和精炼。检索后精炼 (Post-Retrieval Refinement) 阶段的目标是优化这些检索到的上下文，以更好地适应 LLM 的上下文窗口限制，减少噪声干扰，并确保最相关、最重要的信息能够被 LLM 有效利用。

### **3.3.1\. 高级重排序 (Re-ranking) 策略**

初步检索返回的文档块列表可能仍然包含一些相关性较低或冗余的内容，或者其排序并非最优。重排序旨在通过更细致的评估来优化这个列表，将最有用、最相关的信息片段置于更突出的位置，从而提高生成答案的质量。

- **常见方法**：一些通用的重排序方法包括：根据更精细的语义相似度计算（可能使用比初始检索更强大的模型，如交叉编码器 cross-encoder）重新对文档块打分；或者根据启发式规则调整排序，例如，将包含与查询直接相关的实体或关键词的文档块排在更前面 。还有研究表明，将最相关的上下文放置在提示的开头或结尾（即“边缘位置”）可能有助于 LLM 更好地利用这些信息，因为 LLM 有时会存在“中间内容丢失” (lost in the middle) 的问题，即对处于长上下文中间部分的信息关注度较低 。
- **RS Score (Relevancy Score) for Multimodal RAG**：在处理多模态信息（如文本-图像对）的 RAG 系统中，RS Score 被提出作为一种量化查询与检索条目之间相关性的度量 。它通常是一个介于 0 和 1 之间的标量分数，分数越高表示相关性越强。RS Score 模型通常使用一个经过特定微调的视觉语言模型 (VLM) 来学习查询和检索条目（如图像或文本文档）之间的语义关系。通过在包含正负样本对的数据集上进行训练，RS Score 模型旨在比传统的基于 CLIP 嵌入余弦相似度的方法更准确地区分相关和不相关的数据，尤其是在判断不相关性方面表现更优。
- **METEORA (Rationale-driven Selection)**：METEORA 提出了一种用“理由驱动选择” (rationale-driven selection) 来替代传统重排序的创新方法 。其核心思想是，首先利用一个经过偏好调优的 LLM（使用直接偏好优化 DPO 技术）为输入查询生成一系列“理由” (rationales)，即解释为什么需要某些特定信息的短语或句子。然后，一个“证据块选择引擎” (Evidence Chunk Selection Engine, ECSE) 利用这些理由来指导证据块的选择过程。ECSE 的工作分为三个阶段：
  1. **局部相关性配对**：将每个理由与检索到的证据块进行配对，评估局部相关性。
  2. **基于拐点检测的全局选择**：通过一种全局选择机制（如拐点检测算法）来确定一个自适应的截止点，从而选择出最重要的一组证据块，避免了传统方法中对 टॉप-K 中 K 值的硬性设定。
  3. **通过邻近证据进行上下文扩展**：可能会包含与已选证据块相邻的上下文，以确保信息的完整性。 此外，METEORA 还使用一个“验证器 LLM” (Verifier LLM) 来检查所选证据与理由之间的一致性，以检测和过滤可能存在的“毒化”或误导性内容。由于理由在选择和验证过程中都得到一致使用，METEORA 提供了可解释和可追溯的证据流，提升了系统的鲁棒性和透明度。

### **3.3.2\. 上下文压缩 (Context Compression) 技术**

LLM 的上下文窗口长度是有限的，即使是最新的模型也无法无限地处理输入信息。当检索到的相关文档块的总长度超过 LLM 的上下文窗口限制时，就需要对上下文进行压缩，以在保留核心信息的同时减少其总体积。

- **硬压缩 (Hard Compression)**：这类方法直接修改文本的表面结构，例如通过剪枝 (pruning) 删除不重要的句子或段落，或者通过摘要 (summarization) 生成更短的文本表示 。这些方法通常易于理解和实现，但压缩率有限，且可能丢失部分细节信息。
- **软压缩 (Soft Compression)**：软压缩技术则致力于将文档内容压缩成更紧凑的向量表示，或者生成注意力键值对 (attention key-value pairs) 供模型在生成时参考 。这类方法可能牺牲一定的可解释性以换取更高的压缩率和效率。
- **MacRAG (Multi-scale Adaptive Context RAG)**：MacRAG 是一个分层检索框架，它在离线阶段就对文档进行多尺度处理 。首先，它将文档分割成部分重叠的块，然后通过抽象式摘要等方法对这些块进行压缩。这些压缩后的片段会进一步被切分成更细粒度的单元，用于构建分层索引。在查询时，MacRAG 首先从最细粒度层级检索最精确的片段，然后逐步向上扩展，合并邻近的块、父块，甚至进行文档级别的扩展，从而动态地构建一个既能覆盖足够信息又能控制长度的、针对特定查询的有效长上下文。
- **PISCO (Pretty Simple Compression)**：PISCO 是一种新颖的文档压缩方法，它声称可以在 RAG 任务中实现高达 16 倍的压缩率，而准确率损失极小 (0-3%) 。PISCO 的一个关键特点是它不依赖预训练或标注数据，而是完全通过基于文档的问题进行序列级知识蒸馏 (sequence-level knowledge distillation) 来训练压缩模型。这意味着压缩模型（学生模型）通过学习从教师模型（使用未压缩上下文）生成的输出来进行训练。PISCO 的压缩器将每个文档编码为一组固定数量的“记忆嵌入” (memory embeddings)，解码器则基于查询和这些压缩嵌入来生成答案。

检索后精炼阶段的各种技术，特别是重排序和上下文压缩，对于解决 LLM 处理长上下文时可能出现的“中间内容丢失”问题至关重要。研究表明，LLM 在处理长输入序列时，往往对开头和结尾部分的信息更为敏感，而中间部分的信息容易被忽略 。因此，仅仅检索到大量相关文档是不够的；如何有效地筛选、排序、压缩这些信息，并以最优的方式呈现给 LLM，直接关系到最终生成答案的质量。这使得检索后处理成为 RAG 流程中一个不可或缺的优化环节，其目标是使检索到的上下文对 LLM 来说更“易消化”、更“易利用”。

# **4\. 特定 RAG 架构：独特的技术路线**

随着 RAG 技术的不断发展，除了在各个阶段进行通用优化外，还涌现出了一系列具有独特设计理念和特定应用目标的 RAG 架构。这些架构代表了 RAG 技术在不同方向上的深化和特化，旨在解决更复杂的问题或实现更高级的功能。

## **4.1\. 迭代与多跳 RAG (Iterative and Multi-Hop RAG) 框架**

许多复杂的查询无法通过单轮检索和生成来有效回答，它们往往需要从多个信息源收集证据，或者通过一系列推理步骤才能得出结论。迭代与多跳 RAG 框架正是为了应对这类挑战而设计的。它们的核心思想是通过多次的检索-推理循环，逐步构建和完善回答问题所需的知识。

- **Self-RAG**：这是一个自反思的检索增强生成框架 。Self-RAG 的独特之处在于它训练单个 LLM 来按需自适应地检索段落（可以多次检索，也可以完全跳过检索），并使用特殊的“反思令牌” (reflection tokens) 来生成和评价检索到的段落以及模型自身的生成内容。这些反思令牌使得模型能够评估检索的必要性（是否需要检索）、检索内容的相关性（检索到的内容是否有用）、以及生成内容是否得到证据支持、是否完整等。训练过程涉及一个检索器、一个评价器 (Critic) 和一个生成器 (Generator)。在推理时，Self-RAG 可以利用这些反思令牌进行树状解码 (tree-decoding)，根据对不同评价维度（如证据支持度、完整性）的偏好来选择最佳的生成路径。
- **Auto-RAG**：Auto-RAG 强调自主的迭代式检索 。在这个框架中，LLM 与检索器进行多轮对话，系统地规划检索步骤、优化查询，以获取有价值的知识。这个过程会持续进行，直到收集到足够的信息来回答用户的问题。Auto-RAG 的训练依赖于一种自主合成的、基于推理的决策指令，使其能够根据问题的难度和已检索知识的效用自主调整迭代次数，而无需人工干预。
- **KnowTrace**：KnowTrace 将迭代式 RAG 过程重新表述为知识图谱扩展的过程 。它不只是简单地堆叠检索到的文本片段，而是让 LLM 主动地追踪并补全与问题相关的知识三元组 (subject-predicate-object)，从而动态地构建一个针对当前问题的特定知识图谱。这个逐步构建的知识图谱为 LLM 提供了结构化的、不断演进的上下文，有助于 LLM 进行更清晰、更有条理的推理，同时也能有效过滤掉冗余或误导性的信息。
- **RAG-Fusion**：RAG-Fusion 旨在通过生成多个查询视角来增强检索的全面性 。它首先让 LLM 根据原始用户查询生成多个相关的子查询。然后，对每个子查询分别进行向量搜索，获取相关的文档。接下来，它使用倒数排序融合 (Reciprocal Rank Fusion, RRF) 算法对所有检索到的文档进行重新排序和分数融合，得到一个综合的排序列表。最后，将这个融合排序后的文档列表以及原始查询和生成的子查询一起提供给 LLM 生成最终答案。这种方法通过从不同角度探索信息空间，有助于生成更全面、更深入的回答。
- **LevelRAG**：如前文（3.2.2节）所述，LevelRAG 的高层搜索器通过将复杂查询分解为原子子查询，天然地支持了多跳逻辑的实现 。

## **4.2\. 自我修正与反思式 RAG (Self-Correcting and Reflective RAG) 范式**

为了提升 RAG 系统的可靠性和准确性，研究者们开发了具有自我修正和反思能力的 RAG 范式。这些系统内置了评估检索信息质量和生成响应质量的机制，并能够根据评估结果进行错误修正或响应优化。

- **CRAG (Corrective RAG)**：CRAG 的核心在于其纠错能力 。它包含一个轻量级的检索评估器，用于评估检索到的文档的总体质量，并给出一个置信度分数。根据这个置信度，系统会触发不同的知识检索操作：如果置信度高（标记为“Correct”），则直接使用检索到的文档；如果置信度低（标记为“Incorrect”），系统可能会启动网络搜索 (web search) 来获取更准确或更全面的信息进行补充或替换；如果结果不确定（标记为“Ambiguous”），也可能触发额外的检索或修正步骤。此外，CRAG 还采用了一种“分解-再重组” (decompose-then-recompose) 算法来优化检索到的文档，旨在选择性地关注关键信息并过滤掉无关内容。
- **AlignRAG**：AlignRAG 专注于解决“推理不对齐” (reasoning misalignment) 的问题，即 LLM 的内部推理过程与检索到的外部证据之间可能存在的不一致 。它引入了“批判驱动对齐” (Critique-Driven Alignment, CDA) 机制。其核心是一个“批判语言模型” (Critic Language Model, CLM)，该模型通过对比学习的方式进行训练，能够识别推理过程中的不对齐，并生成结构化的批判信息来指导对齐过程。在测试时，AlignRAG 将生成的推理过程视为一个可优化的对象，通过 CLM 提供的批判信息进行迭代式修正，从而使 RAG 流水线转变为一个主动的推理系统，动态地将生成内容与检索证据对齐。AlignRAG 的一个重要特点是它可以作为即插即用的模块集成到现有的 RAG 流水线中。
- **Self-RAG**：在其反思机制下，Self-RAG 也具备一定的自我修正能力。通过生成评价性的反思令牌，模型能够判断检索内容的相关性以及生成内容是否得到证据支持，从而在一定程度上避免或修正错误 。

## **4.3\. 模块化 RAG (Modular RAG) 架构**

模块化 RAG 代表了一种更灵活、更具可组合性的 RAG 系统设计方法。它将 RAG 的复杂流程分解为一系列独立的、可配置的模块，如查询处理模块、检索模块、过滤与排序模块、上下文增强模块、响应生成模块、后处理模块等。

- **优势**：这种模块化的设计带来了诸多好处：
  - **灵活性与可定制性**：可以根据具体应用需求，独立地选择、替换或微调各个模块。例如，可以针对特定领域定制专门的检索器或重排序器。
  - **可扩展性**：可以通过在不同资源上部署不同模块来实现系统的水平扩展。
  - **可维护性**：当某个模块出现问题或需要升级时，可以独立进行调试和更新，而不会影响整个系统的其他部分。
  - **促进创新**：模块化的接口使得集成新的研究成果或第三方工具变得更加容易。
- **实现**：这类架构通常借助 LangChain、LlamaIndex 等框架来构建，这些框架提供了丰富的预置组件和灵活的编排能力。
- **典型模块**：一个复杂的模块化 RAG 系统可能包含：查询预处理（如改写、消歧）、多源检索、元数据过滤、高级重排序、上下文增强（如集成知识图谱、调用 API 获取动态数据）、上下文压缩、LLM 生成、事实校验、格式化输出、以及用户反馈收集与模型迭代等多个环节 。

## **4.4\. 处理异构数据：混合文档 RAG (HD-RAG)**

现实世界中的文档往往包含多种类型的数据，例如纯文本、表格、图像等。传统的 RAG 系统主要针对纯文本进行优化，在处理包含复杂结构（如层级表格）的混合文档时面临挑战。HD-RAG (Hybrid Document RAG) 框架旨在解决这一问题，有效整合文本和表格等异构数据，以支持更全面的检索和生成。

- **HD-RAG 的核心组件**：
  - **语料库构建模块 (Corpus Construction Module)**：针对混合文档中的表格，特别是具有层级结构的复杂表格，HD-RAG 采用了一种“层级行列级” (Hierarchical Row-and-Column-Level, H-RCL) 表格摘要方法。这种方法旨在捕捉表格的结构信息和内容，生成既能保留表格结构又能优化检索的表示。
  - **检索模块 (Retrieval Module)**：为了克服单一语义相似性检索的局限性，HD-RAG 采用了两阶段检索策略。第一阶段是集成检索 (ensemble retrieval)，它结合了 BM25（用于关键词匹配）和基于嵌入的语义检索（用于语义理解），从不同角度筛选候选文档。第二阶段是基于 LLM 的检索 (LLM-based retrieval)，利用 LLM 的上下文推理能力，从候选文档中进一步识别出最相关的文档。
  - **问答推理模块 (QA Inference Module)**：该模块采用了一种名为 RECAP (Restate, Extract, Compute, Answer, Present) 的提示策略，旨在从混合文档中准确提取和利用信息，支持多步骤推理和复杂计算。RECAP 的步骤包括：重述问题、提取相关数据、计算答案、回答问题、以及（对于计算类问题）呈现计算公式。

## **4.5\. 协作式方法：多智能体 RAG (MA-RAG)**

MA-RAG (Multi-Agent RAG) 引入了多智能体系统 (Multi-Agent System, MAS) 的思想，通过让一组具有不同专长的 AI 智能体协同工作，来处理 RAG 流程中的各个子任务。

- **核心理念**：MA-RAG 将复杂的 RAG 任务分解为一系列更小、更易于管理的子任务，例如查询消歧、证据提取、答案综合等，并将这些子任务分配给专门的智能体进行处理。
- **智能体角色**：一个 MA-RAG 系统可能包含规划器智能体 (Planner Agent) 负责整体任务规划，步骤定义器智能体 (Step Definer Agent) 负责细化执行步骤，提取器智能体 (Extractor Agent) 负责从文档中提取信息，问答智能体 (QA Agent) 负责生成最终答案等。这些智能体可以根据任务需求被动态调用，形成一个高效的工作流。
- **优势**：通过任务分解和智能体协作，MA-RAG 能够更好地应对复杂信息查询任务中固有的模糊性和推理挑战，提高系统的鲁棒性和结果的可解释性。

这些特定 RAG 架构的出现，反映了 RAG 技术领域的一个重要发展趋势：从通用的基础框架向针对特定挑战和应用场景的专门化解决方案演进。当朴素 RAG 和早期的“高级 RAG”为连接 LLM 与外部知识提供了普适性方法后，研究者和开发者们开始面临更具体、更棘手的现实问题，例如如何进行真正意义上的多步推理，如何处理包含表格和文本的复杂文档，如何确保系统在面对有噪声或误导性信息时的可靠性，以及如何将复杂的 RAG 流程分解为可管理、可优化的模块化组件。正是这些具体的需求驱动了迭代式 RAG、自我修正 RAG、HD-RAG、模块化 RAG 和 MA-RAG 等特定技术路线的形成。这种专业化使得 RAG 技术能够更有效地应用于更广泛、更具挑战性的任务中，也标志着 RAG 领域正在走向成熟，从“一刀切”的解决方案发展为拥有丰富“工具箱”的、能够灵活应对多样化需求的先进技术体系。

# **5\. RAG 系统中的微调 (Fine-Tuning) 策略**

为了进一步提升 RAG 系统的性能，除了在架构层面进行创新外，对 RAG 系统中的核心模型组件——即检索器 (Retriever) 和生成器 (Generator)——进行微调也是一个重要的技术路线。微调旨在使这些通用模型更适应 RAG 的特定任务需求和数据特征。

## **5.1\. 优化检索器：微调嵌入模型**

检索器的核心是嵌入模型，它负责将文本（查询和文档块）转换为向量表示。嵌入模型的质量直接决定了检索结果的相关性。通过微调嵌入模型，可以使其生成的向量更能捕捉特定领域或任务中的语义细微差别，从而提升检索精度。

- **领域自适应微调**：通用的预训练嵌入模型可能无法完美捕捉特定领域的专业术语或概念之间的关系。通过在目标领域的语料上对嵌入模型进行微调，可以使其学习到更符合该领域特性的语义表示 。例如，在金融领域，可以利用金融文档对嵌入模型进行微调，以提高其对金融术语和概念的理解。
- **指令微调 (Instruction Fine-tuning) 以支持多任务和特定领域检索**：一种新兴的策略是采用指令微调的方式来训练检索器编码器，使其能够处理多种检索任务并适应特定领域的需求 。这种方法通常选择一个较小的、但具有大上下文长度和潜在多语言能力的嵌入模型作为基础。然后，通过构建包含多种指令模板和正负样本对的训练数据集来进行微调。例如，可以设计指令来引导模型检索特定类型的步骤、表格、字段，或者根据用户需求描述检索目录项。训练数据可以从现有的内部数据库或应用训练集中提取，无需大量手动标注。通过对比学习损失 (contrastive loss) 进行训练，可以使模型学会将语义相似的文本-对象对在嵌入空间中拉近，将不相似的对推远。这种方法旨在以较低的成本实现可扩展、快速且能服务于多种用例的统一检索器。
- **动态嵌入 (Dynamic Embeddings)**：一些研究探索了动态嵌入技术，这类嵌入能够更好地捕捉上下文的动态变化，而不仅仅是静态的语义表示 。

## **5.2\. 优化生成器：调整大语言模型以适应 RAG**

生成器 LLM 负责利用检索到的上下文来生成最终的回答。即使检索到的上下文质量很高，如果 LLM 没有经过针对 RAG 场景的优化，它仍可能无法充分利用这些上下文，甚至在上下文不完美（例如包含噪声或不完全相关的信息）时产生幻觉。微调生成器旨在增强其理解和利用检索上下文的能力，提高生成答案的事实一致性和相关性。

- **Finetune-RAG**：该方法专门设计用于训练 LLM 在面对不完美检索（即检索到的上下文中同时包含正确和虚构/误导性信息）时抵抗幻觉的能力 。其核心思想是构建一个特殊的训练数据集，其中每个样本都包含一个与问题相关的正确文档块和一个虚构的、可能误导模型的文档块。LLM 被训练成仅依赖正确的文档块来生成参考答案，从而学会忽略或辨别虚假信息。
- **ALoFTRAG (Automatic Local Fine Tuning of Retrieval Augmented Generation models)**：ALoFTRAG 提出了一种自动化的、本地化的微调框架，旨在无需手动标注数据或依赖大型教师模型的情况下提升 RAG 系统在特定领域数据上的准确性 。该框架首先从未标注的领域特定文本中自动生成合成训练数据，包括问题、答案、正确的参考文本以及“难负例” (hard negative texts，即与问题相关但不是正确答案来源的文本)。然后，利用这些合成数据，通过 LoRA (Low-Rank Adaptation) 这种参数高效的微调技术来微调生成器 LLM。ALoFTRAG 的训练目标是让 LLM 学会首先从提供的（包含正确和干扰项的）参考文本列表中准确引用正确的文本来源，然后再基于该来源生成答案。这种方法不仅提升了答案的准确性，也提高了引用的准确性。

对检索器和生成器进行微调，并非两个孤立的过程，它们之间存在着相互依赖和促进的关系。一个性能更优的检索器能够为生成器提供更相关、更精确的上下文信息。然而，即便拥有完美的检索结果，如果生成器没有经过针对 RAG 场景的优化，它仍然可能无法充分利用这些高质量的上下文，或者在面对哪怕是轻微的上下文瑕疵时就产生不准确的输出。反过来，一个经过精心微调、能够高效利用上下文并抵抗干扰的生成器（如通过 Finetune-RAG 或 ALoFTRAG 训练的模型），如果其上游的检索器性能不佳，持续提供噪声或不相关的上下文，那么生成器的优势也难以充分发挥。

因此，实现 RAG 系统的最优性能，往往需要在检索器微调和生成器微调之间找到一个平衡点，甚至可能需要采用一种协同进化或迭代优化的策略。这意味着，未来的 RAG 系统开发可能会越来越倾向于整体性的优化方案，而不仅仅是针对单个组件的孤立改进。这也对训练数据的构建和微调方法论提出了新的要求，即需要更多专为端到端 RAG 性能优化而设计的数据集和训练流程。

# **6\. 其他视角与新兴考量**

随着 RAG 技术的不断演进，一些新的视角和考量因素也开始浮现，它们可能在未来对 RAG 的主流技术路线产生影响，甚至催生出替代性的解决方案。

## **6.1\. 缓存增强生成 (CAG) 作为潜在替代方案**

缓存增强生成 (Cache-Augmented Generation, CAG) 是一种针对特定场景提出的、可能替代传统 RAG 的新范式。其核心思想是，在处理规模有限且相对稳定的知识库时，可以预先将所有相关资源加载到大型语言模型 (LLM) 极长的上下文窗口中，并缓存其运行时产生的键值对 (Key-Value Cache, KV Cache)。

- **工作机制**：
  1. **预加载与缓存**：在离线阶段，将整个知识库（或其相关子集）作为输入提供给具有长上下文能力的 LLM，并计算和存储此次前向传播过程中产生的 KV 缓存。这个计算成本只需要承担一次。
  2. **推理**：在实际推理时，当用户提出查询，系统会加载预先计算好的 KV 缓存，并将其与用户查询一同作为输入送给 LLM。LLM 利用这些已缓存的上下文状态来生成回答，从而完全绕过了实时检索的步骤。
- **解决 RAG 的局限性**：CAG 旨在解决传统 RAG 的一些核心痛点：
  - **消除检索延迟**：由于所有知识已预加载并缓存，推理时无需进行耗时的实时检索，从而显著降低响应延迟 。
  - **最小化检索错误**：避免了因检索算法不完美、索引构建问题或查询理解偏差等导致的检索错误（如检索到不相关或不完整的信息）。
  - **简化系统复杂度**：省去了独立的检索模块、向量数据库以及两者与 LLM 之间的复杂集成，使得系统架构更为简洁，降低了开发和维护成本 。
- **依赖条件**：CAG 的可行性高度依赖于 LLM 是否具备足够长的上下文窗口来容纳目标知识库。随着 Llama 3.1 (128K 上下文长度) 、GPT-4 (128K)、Claude 3 (200K) 乃至 Gemini 1.5 Pro (1M tokens) 等模型的出现，能够一次性处理大量文本（如整个文档集、公司内部知识库、FAQ、客户支持日志、特定领域数据库等）已成为可能 。

CAG 的提出，实际上反映了 LLM 自身能力发展对 RAG 技术路线带来的一个重要影响。RAG 最初被广泛研究和应用的一个重要前提是，当时的 LLM 上下文窗口相对较小，无法直接处理大规模的外部文档 **3**。因此，检索成为了一种必要手段，用于从海量数据中筛选出小段相关的文本片段供 LLM 使用。然而，当 LLM 的上下文窗口扩展到数十万甚至上百万tokens的量级时，对于那些知识范围相对固定且可控的应用场景（例如，基于一本特定手册的问答、基于公司内部规章制度的查询等），将所有相关信息一次性“灌输”给 LLM 并利用其内部注意力机制进行信息定位和综合，就可能成为一种比构建复杂 RAG 流水线更简单、更直接的方案 。

这并不意味着 RAG 会被完全取代。对于那些知识规模极其庞大（远超任何 LLM 上下文窗口容量）、知识来源高度动态变化、或者需要复杂多源信息交互的场景，RAG 及其各种高级优化技术仍然具有不可替代的价值。但 CAG 的出现提示我们，未来 RAG 的技术路线可能会出现分化：一条路线继续深耕超大规模、高度动态知识源的检索与生成优化；另一条路线则可能专注于如何更高效地利用 LLM 的长上下文能力，实现“一次检索并缓存”或“全量上下文注入”的简化版 RAG，甚至在某些情况下完全无需传统意义上的“检索”步骤。这种趋势值得 RAG 领域的研究者和实践者密切关注。

# **7\. RAG 系统评估与挑战克服**

随着 RAG 技术的日益复杂和应用领域的不断扩展，如何科学、全面地评估 RAG 系统的性能，以及如何有效地克服其在实际部署中面临的挑战，已成为至关重要的议题。

## **7.1\. 评估 RAG 性能的关键指标**

RAG 系统的评估是一个多维度的问题，因为其性能受到检索模块和生成模块的共同影响，并且与具体的应用场景和用户期望紧密相关 **1**。评估通常需要考察系统的内部组件性能以及整体的端到端表现 **1**。

- **检索组件评估指标**：
  - **上下文相关性/精确率 (Context Relevance/Precision)**：衡量检索到的文档块与用户查询的信息需求匹配的程度 。即检索到的信息中有多少是真正相关的。
  - **上下文召回率 (Context Recall)**：衡量是否所有回答问题所需的必要信息都从知识库中被检索出来了 。
  - **全面性 (Comprehensiveness)**：评估检索到的文档是否覆盖了查询主题的多个方面和不同视角 。
  - **正确性 (Correctness)**：评估检索到的文档相对于一组候选文档的准确性，即系统识别和优先排序相关文档的能力 。
- **生成组件评估指标**：
  - **忠实度 (Faithfulness)**：衡量生成的回答在多大程度上准确地反映了检索到的文档中的信息，即回答是否“忠于”上下文，没有捏造或歪曲事实 。
  - **答案相关性 (Answer Relevance)**：衡量生成的回答与用户原始查询的意图和内容的对齐程度 。
  - **答案正确性 (Answer Correctness)**：衡量生成的回答在事实层面上的准确性，通常需要与一个“黄金标准”答案或事实进行对比 。
- **特定框架与指标**：
  - **RAGAS (Retrieval Augmented Generation Assessment)**：这是一个流行的 RAG 评估框架，它侧重于无参考评估 (reference-free evaluation)，即在没有人工标注的黄金标准答案的情况下评估 RAG 质量。其核心指标包括忠实度、答案相关性和上下文相关性 。
  - **ASTRID (Automated and Scalable TRIaD for evaluating clinical QA systems)**：这是一个专为临床问答场景设计的 RAG 评估框架。它包含三个核心指标：上下文相关性 (CR)、拒绝准确率 (Refusal Accuracy, RA，衡量系统在无法提供安全或合适回答时正确拒绝回答的能力) 和对话忠实度 (Conversational Faithfulness, CF，评估回答中信息性句子的准确性及其与上下文的一致性，同时考虑对话的自然性) 。
  - **Bench-RAG**：这是一个用于评估 Finetune-RAG 效果的基准测试流程，它利用 GPT-4o 作为裁判 LLM，在提供包含正确和虚构上下文的情况下，评估模型生成答案的事实准确性 。
- **上游组件评估**：RAG 系统的性能也受到上游组件（如分块和嵌入模型）的影响。因此，对这些组件的评估也很重要。例如，分块方法的评估可以关注关键词覆盖率、回答问题所需的最小 token 数等；嵌入模型的评估则可以参考 MTEB (Massive Text Embedding Benchmark) 和 MMTEB (Massive Multicultural Text Embedding Benchmark) 等综合性基准测试 。

## **7.2\. 当前 RAG 实现中的持续挑战与局限性**

尽管 RAG 技术取得了显著进展，但在实际应用中仍面临诸多挑战和局限性：

- **通用挑战**：
  - **检索延迟、错误与系统复杂度**：实时检索可能引入延迟；检索错误（如检索到不相关或不完整信息）会直接影响生成质量；整个 RAG 系统的集成和维护也相对复杂 。
  - **可扩展性问题**：随着知识库规模的增长和并发用户数的增加，保持低延迟和高吞吐量是一个挑战 。
  - **偏见传播**：如果知识库或检索算法本身存在偏见，这些偏见可能会被放大并体现在生成的回答中 。
  - **安全与隐私**：当 RAG 系统接入包含敏感信息的知识库时，需要确保数据安全和用户隐私不被泄露 。
  - **可解释性不足**：理解 RAG 系统为何检索特定文档以及如何基于这些文档生成特定回答，有时仍然缺乏透明度 。
- **Barnett 等人提出的“七个失败点”** ：这项研究通过对不同领域 RAG 系统的案例分析，总结了七个常见的失败模式：
  1. **内容缺失 (Missing Content)**：知识库中不存在回答问题所需的信息。
  2. **错过高排名文档 (Missed the Top Ranked Documents)**：相关信息存在但未被检索算法排到足够靠前的位置。
  3. **不在上下文中 (Not in Context)**：相关信息被检索到，但在传递给 LLM 的最终上下文中被排除（例如由于长度限制或整合策略）。
  4. **未能提取 (Not Extracted)**：正确答案存在于提供给 LLM 的上下文中，但 LLM 未能成功提取出来。
  5. **格式错误 (Wrong Format)**：LLM 未能按照用户要求的特定格式（如表格、列表）生成答案。
  6. **特异性不当 (Incorrect Specificity)**：答案过于笼统或过于具体，不符合用户需求。
  7. **不完整 (Incomplete)**：答案虽然正确但遗漏了部分相关信息。
- **特定技术挑战**：
  - **有效处理多文档**：即使控制了总上下文长度，LLM 在处理分散在多个文档中的信息时仍面临挑战，这与简单处理单个长文档是不同的问题 。
  - **数据一致性、模型对齐、集成复杂性、错误处理**：这些是在构建和维护 RAG Pipeline 时常见的工程挑战 。

RAG 系统的复杂性不断增加，其应用场景也日益多样化和精细化（例如，从简单的问答到复杂的多跳推理、对话式交互等）。这种发展趋势对评估方法和指标提出了更高的要求。早期的 RAG 评估可能主要关注基础的检索精确率和答案的事实性 **1**。但随着高级 RAG 技术的出现，如迭代式检索、自我修正机制、以及处理特定场景（如临床问答）的能力，评估的维度也必须相应扩展。例如，需要评估系统进行多跳推理的质量，在检索结果包含噪声时生成答案的鲁棒性（如 Self-RAG 的批判机制所关注的），或者在面对不适宜问题时正确拒绝回答的能力（如 ASTRID 框架中的拒绝准确率指标）。

像 RAGAS 这样的框架试图实现无参考评估，这对于缺乏黄金标准答案的真实世界场景至关重要 **68**。同时，针对特定能力（如长上下文处理、临床问答）的专门化基准测试也在不断涌现 **42**。而 Barnett 等人提出的“七个失败点”则从实践角度揭示了许多学术指标可能未能完全覆盖的、在实际运营中可能遇到的问题。

可以说，RAG 技术的演进与评估方法的发展之间存在一种持续的“竞赛”关系。随着 RAG 技术路线的不断创新和深化，评估方法学也必须随之发展，以便能够准确、全面地衡量这些新系统的性能、可靠性和潜在风险。只有通过不断完善评估体系，才能推动构建出真正强大、值得信赖的 RAG 应用。

# **8\. 结论：RAG 技术轨迹综合与未来展望**

检索增强生成 (RAG) 技术自问世以来，经历了从简单概念到复杂系统的快速演进，已成为提升大型语言模型 (LLM) 能力、拓展其应用边界的关键技术路线。通过对当前主流技术路线的梳理，可以清晰地看到 RAG 领域的发展脉络和未来趋势。

## **8.1\. 主要技术路线回顾**

RAG 的技术发展大致可以归纳为几个主要方向：

1. **从朴素到高级的演进**：最初的朴素 RAG 奠定了“检索-增强-生成”的基本框架，但其在检索质量、上下文利用效率和处理复杂查询方面的局限性催生了高级 RAG 策略。高级 RAG 通过在检索前（如高级分块、元数据利用、知识图谱构建）、检索中（如混合检索、查询增强）和检索后（如重排序、上下文压缩）各个环节进行深度优化，显著提升了系统的整体性能。
2. **特定架构的涌现**：为了应对更复杂的挑战，如多跳推理、处理异构数据、提升鲁棒性和可解释性，一系列特定 RAG 架构应运而生。迭代与多跳 RAG（如 Self-RAG, Auto-RAG, KnowTrace, RAG-Fusion）、自我修正与反思式 RAG（如 CRAG, AlignRAG）、模块化 RAG、混合文档 RAG (HD-RAG) 以及多智能体 RAG (MA-RAG) 等，都代表了 RAG 在不同维度上的深化探索。
3. **模型微调的精细化**：针对 RAG 任务对检索器（尤其是嵌入模型）和生成器（LLM）进行专门微调，已成为提升端到端性能的重要手段。这包括领域自适应微调、指令微调，以及针对特定 RAG 行为（如抵抗幻觉、准确引用）的训练方法。
4. **新兴视角的挑战与融合**：长上下文 LLM 的发展带来了如缓存增强生成 (CAG) 这样的新思路，对传统 RAG 的必要性提出了新的思考。同时，RAG 的评估方法也在不断发展，以适应日益复杂的系统和应用需求。

## **8.2\. 总体趋势与协同效应**

纵观 RAG 的技术发展，可以观察到几个明显的总体趋势和不同技术路线之间的协同效应：

- **智能化与自适应性增强**：RAG 系统正变得越来越“智能”。LLM 不再仅仅是生成答案的工具，而是深度参与到 RAG 流程的各个环节，如查询理解与改写、检索策略选择、上下文评估与筛选、甚至自我修正与反思。系统也越来越强调根据具体查询和上下文动态调整其行为，例如动态选择分块粒度 (MoG)、动态平衡混合检索权重 (DAT)、按需进行迭代检索 (Self-RAG, Auto-RAG) 等。
- **知识表示与利用的深化**：从简单的文本块检索，到利用元数据进行结构化过滤，再到构建和利用知识图谱进行深层语义理解和多跳推理 (GraphRAG, KnowTrace)，RAG 系统对知识的表示和利用方式正不断深化。这使得 RAG 能够更好地处理需要复杂背景知识和逻辑关联的查询。
- **模块化与集成化并进**：模块化 RAG 架构的提出，使得构建高度定制化、可维护、可扩展的 RAG 系统成为可能。开发者可以像搭积木一样组合不同的优化技术和模型组件。与此同时，许多最初作为独立技术路线发展的先进 RAG 方法，其核心思想和组件也开始相互融合。例如，迭代式检索框架可以集成基于知识图谱的推理能力，自我修正机制也可以应用于各种高级 RAG 流水线中。
- **端到端优化的重要性凸显**：尽管对 RAG 各个组件的单独优化仍然重要，但越来越多的研究开始关注整个 RAG 流程的端到端性能。组件间的协同与平衡，以及它们对最终输出质量的综合影响，正成为优化的焦点。

## **8.3\. 预期的未来研究方向与创新**

展望未来，RAG 技术仍有广阔的发展空间和诸多值得探索的研究方向：

- **自学习与自进化 RAG 系统**：通过元学习 (meta-learning) 和强化学习等技术，使 RAG 系统能够从与用户和环境的交互中持续学习和改进，实现检索策略、生成风格乃至整个流程的自适应优化 。
- **更高效、更鲁棒的检索机制**：进一步提升检索的准确性、召回率和效率，特别是在处理超大规模、高度动态或多模态知识源时。这可能包括更先进的混合检索模型、更智能的查询理解与转换技术，以及能更好处理噪声和对抗性攻击的检索器。
- **深度多模态 RAG**：随着多模态 LLM 的发展，RAG 需要更有效地整合和利用来自文本、图像、音频、视频等多种模态的信息，实现跨模态的检索、理解和生成 。
- **复杂推理能力的持续增强**：提升 RAG 系统进行多跳推理、因果推断、反事实推理等复杂认知任务的能力，可能需要更紧密地结合符号推理与神经网络方法，例如神经符号 RAG。
- **可解释性、可信度与可控性的提升**：开发新的技术来增强 RAG 系统的透明度，使用户能够理解其决策过程；提升生成内容的事实一致性和可验证性；并赋予用户对 RAG 行为（如检索范围、生成风格）更强的控制力 。
- **RAG 与长上下文 LLM 的协同进化**：探索 RAG 与极长上下文 LLM 的最佳结合点。对于某些场景，长上下文可能简化甚至取代部分检索需求；而在另一些场景，RAG 仍然是管理海量知识和确保实时性的关键。如何动态地、经济地在两者之间进行权衡和协同，将是一个重要的研究课题 。
- **个性化与情境化 RAG**：使 RAG 系统能够根据用户的个体偏好、历史交互和当前情境，提供更具个性化和针对性的信息检索与生成服务。
- **标准化评估与基准测试**：随着 RAG 技术的多样化，建立更全面、更细致、更贴近实际应用的评估框架和基准测试集，对于衡量不同技术路线的优劣和推动领域健康发展至关重要。

总而言之，RAG 作为连接 LLM 与广阔外部世界知识的桥梁，其技术路线正朝着更智能、更强大、更可靠、更易于应用的方向不断演进。未来的 RAG 系统预计将不再是单一的技术路径，而是根据具体应用需求，灵活组合多种先进技术模块的、高度复杂的智能信息处理系统。这种融合与创新将持续推动 RAG 在各个领域发挥更大的价值。

---

**表1：RAG 范式演进概览**

| **范式 (Paradigm)**                                         | **核心思想/机制**                  | **关键技术/示例 (来源)**                                          | **主要解决的局限性**                                           | **引入的新考量**                               |
| --------------------------------------------------------- | ---------------------------- | --------------------------------------------------------- | ------------------------------------------------------ | ---------------------------------------- |
| **朴素 RAG (Naive RAG)**                                    | 基础的“索引-检索-生成”流程。             | 固定大小分块，基本向量相似性搜索，直接上下文注入。                                 | \-                                                     | 检索质量不高 (低精确/召回)，上下文利用粗糙，易受噪声影响，难以处理复杂查询。 |
| **高级 RAG: 检索前优化 (Advanced RAG: Pre-Retrieval Focused)**   | 提升索引数据质量和结构。                 | 语义/分层/动态粒度分块 (MoG/MoGG) , 元数据增强 , 知识图谱构建 (GraphRAG) 。     | 朴素 RAG 中因分块不当导致的语义丢失，元数据缺乏导致的过滤和排序能力不足，扁平文本难以支持复杂关系理解。 | 索引构建和维护的复杂度增加，对数据预处理要求更高。                |
| **高级 RAG: 检索过程优化 (Advanced RAG: Retrieval Focused)**      | 提升检索的准确性、完整性和相关性。            | 混合检索 (DAT) , 查询扩展 (LLM-QE) , 查询重写/分解 (LevelRAG, MA-RAG) 。 | 用户查询模糊或与文档表述不一致，单一检索方法难以适应所有场景。                        | 查询增强过程可能引入额外计算开销或新的噪声。                   |
| **高级 RAG: 检索后优化 (Advanced RAG: Post-Retrieval Focused)**  | 优化检索到的上下文，使其更适合 LLM 生成。      | 高级重排序 (METEORA, RS Score) , 上下文压缩 (MacRAG, PISCO) 。       | LLM 上下文窗口限制，“中间内容丢失”问题，检索结果包含噪声或冗余。                    | 重排序和压缩算法的复杂性，可能丢失部分有用信息。                 |
| **迭代/多跳 RAG (Iterative/Multi-Hop RAG)**                   | 通过多轮检索和推理处理复杂查询。             | Self-RAG , Auto-RAG , KnowTrace , RAG-Fusion 。            | 单轮检索无法解决需要多步骤或多源信息的问题。                                 | 控制迭代过程的复杂性，避免错误累积，管理多轮检索的开销。             |
| **自我修正/反思式 RAG (Self-Correcting/Reflective RAG)**         | 内置评估和修正机制，提升可靠性。             | CRAG , AlignRAG , Self-RAG (部分特性) 。                       | RAG 系统对检索错误或生成错误的敏感性，缺乏内在的质量控制。                        | 修正机制的设计和训练复杂，可能引入额外延迟。                   |
| **图驱动 RAG (Graph-Driven RAG, e.g., GraphRAG, KnowTrace)** | 利用知识图谱进行知识表示和检索，支持复杂关系和多跳推理。 | 知识图谱构建，图嵌入，图遍历算法，子图检索。                                    | 扁平文本检索难以捕捉实体间复杂关系和进行深度推理。                              | 知识图谱的构建、维护和更新成本高，图检索算法复杂。                |
| **模块化 RAG (Modular RAG)**                                 | 将 RAG 流程分解为可独立优化和替换的模块。      | 使用 LangChain 等框架构建包含查询处理、多检索器、重排序、上下文增强、后处理等模块的流水线。       | 传统 RAG 架构的整体性强，不易定制和维护。                                | 模块间接口设计和整体流程编排的复杂性。                      |

**表2：按 RAG 流水线阶段划分的优化技术分类**

| **流水线阶段 (Pipeline Stage)** | **优化类别 (Optimization Category)**                           | **具体技术/方法 (Specific Technique/Method)**    | **描述 (Description)**     | **示例框架/来源 (Example Frameworks/Snippets)** |
| -------------------------- | ---------------------------------------------------------- | ------------------------------------------ | ------------------------ | ----------------------------------------- |
| **检索前 (Pre-Retrieval)**    | **数据索引：分块 (Data Indexing: Chunking)**                      | 固定大小分块 (Fixed-size Chunking)               | 将文档分割成固定长度的块。            | Naive RAG                                 |
|                            |                                                            | 语义分块 (Semantic Chunking)                   | 根据语义边界（句子、段落、主题）分块。      |                                           |
|                            |                                                            | 分层分块 (Hierarchical Chunking)               | 将文本组织成嵌套层级。              |                                           |
|                            |                                                            | 动态粒度分块 (Dynamic Granularity Chunking)      | 根据查询动态调整块的粒度。            | MoG (Mix-of-Granularity)                  |
|                            | **数据索引：元数据 (Data Indexing: Metadata)**                     | 添加元数据 (Adding Metadata)                    | 为文档块附加结构化信息（作者、日期、类别等）。  |                                           |
|                            | **数据索引：知识图谱构建 (Data Indexing: KG Construction)**           | 知识图谱构建 (Knowledge Graph Construction)      | 将信息表示为实体和关系的图结构。         | GraphRAG , KnowTrace                      |
|                            | **嵌入模型选择与优化 (Embedding Model Choice & Optimization)**      | 嵌入模型微调 (Embedding Model Fine-tuning)       | 针对特定领域或任务微调嵌入模型。         |                                           |
| **检索 (Retrieval)**         | **查询处理：扩展 (Query Processing: Expansion)**                  | 基于 LLM 的查询扩展 (LLM-based Query Expansion)   | 利用 LLM 生成更丰富或更精确的查询。     | LLM-QE                                    |
|                            | **查询处理：重写/分解 (Query Processing: Rewriting/Decomposition)** | 查询重写/分解 (Query Rewriting/Decomposition)    | 将复杂查询转换为更易检索的形式或多个子查询。   | LevelRAG , MA-RAG                         |
|                            | **搜索算法 (Search Algorithms)**                               | 稀疏检索 (Sparse Retrieval)                    | 基于关键词匹配（如 BM25）。         |                                           |
|                            |                                                            | 密集检索 (Dense Retrieval)                     | 基于嵌入向量的语义相似性搜索。          |                                           |
|                            |                                                            | 混合检索 (Hybrid Retrieval)                    | 结合稀疏和密集检索的优势。            | DAT (Dynamic Alpha Tuning) , LevelRAG     |
|                            |                                                            | 图检索 (Graph-based Retrieval)                | 在知识图谱上进行检索。              | GraphRAG                                  |
|                            | **迭代检索 (Iterative Retrieval)**                             | 多轮检索与规划 (Multi-round Retrieval & Planning) | 根据中间结果或推理需求进行多轮检索。       | Self-RAG , Auto-RAG , KnowTrace           |
| **检索后 (Post-Retrieval)**   | **重排序 (Re-ranking)**                                       | 高级重排序 (Advanced Re-ranking)                | 对初步检索结果进行更精细的排序。         | METEORA , RS Score (多模态)                  |
|                            | **上下文压缩 (Context Compression)**                            | 上下文压缩技术 (Context Compression Techniques)   | 减少检索上下文的体积以适应 LLM 窗口。    | MacRAG , PISCO                            |
|                            | **信息融合 (Information Fusion)**                              | 多源信息融合 (Multi-source Information Fusion)   | 整合来自多个检索结果或数据源的信息。       | RAG-Fusion , HD-RAG                       |
| **生成 (Generation)**        | **生成器微调 (Generator Fine-tuning)**                          | 针对 RAG 的 LLM 微调 (LLM Fine-tuning for RAG)  | 训练 LLM 更好地利用检索上下文并减少幻觉。  | Finetune-RAG , ALoFTRAG                   |
|                            | **提示工程 (Prompt Engineering)**                              | 针对 RAG 的提示优化 (Prompt Optimization for RAG) | 设计更有效的提示结构以引导 LLM 利用上下文。 | Emulating RAG via Prompt Engineering      |
|                            | **自我修正/反思 (Self-Correction/Reflection)**                   | 内置批判与修正机制 (Built-in Critique & Correction) | 使系统能够评估和修正自身的检索或生成。      | CRAG , AlignRAG , Self-RAG                |

# **引用文献**

1. Retrieval Augmented Generation Evaluation in the Era of Large Language Models: A Comprehensive Survey - arXiv, [https://arxiv.org/html/2504.14891v1](https://arxiv.org/html/2504.14891v1?ref=yonglun.me)
2. A Survey on Knowledge-Oriented Retrieval-Augmented Generation - arXiv, [https://arxiv.org/html/2503.10677v2](https://arxiv.org/html/2503.10677v2?ref=yonglun.me)
3. Real-time Spatial Retrieval Augmented Generation for Urban Environments - arXiv, [https://arxiv.org/html/2505.02271](https://arxiv.org/html/2505.02271?ref=yonglun.me)
4. Enhancing Retrieval-Augmented Generation: A Study of Best Practices - arXiv, [https://arxiv.org/html/2501.07391v1](https://arxiv.org/html/2501.07391v1?ref=yonglun.me)
5. [arxiv.org](http://arxiv.org/?ref=yonglun.me), [https://arxiv.org/html/2406.00456v2](https://arxiv.org/html/2406.00456v2?ref=yonglun.me)
6. [arxiv.org](http://arxiv.org/?ref=yonglun.me), [https://arxiv.org/html/2502.18139v1](https://arxiv.org/html/2502.18139v1?ref=yonglun.me)
7. [arxiv.org](http://arxiv.org/?ref=yonglun.me), [https://arxiv.org/pdf/2412.15605](https://arxiv.org/pdf/2412.15605?ref=yonglun.me)
8. 15 Pros & Cons of Retrieval Augmented Generation (RAG) \[2025 ..., [https://digitaldefynd.com/IQ/pros-cons-of-retrieval-augmented-generation/](https://digitaldefynd.com/IQ/pros-cons-of-retrieval-augmented-generation/?ref=yonglun.me)
9. Retrieval Augmented Generation (RAG): Explained - Humanloop, [https://humanloop.com/blog/rag-explained](https://humanloop.com/blog/rag-explained?ref=yonglun.me)
10. A Comprehensive Guide for RAG Pipeline - Signity Software Solutions, [https://www.signitysolutions.com/blog/rag-pipeline](https://www.signitysolutions.com/blog/rag-pipeline?ref=yonglun.me)
11. [arxiv.org](http://arxiv.org/?ref=yonglun.me), [https://arxiv.org/abs/2503.15191](https://arxiv.org/abs/2503.15191?ref=yonglun.me)
12. Retrieval Augmented Generation (RAG) for LLMs | Prompt ..., [https://www.promptingguide.ai/research/rag](https://www.promptingguide.ai/research/rag?ref=yonglun.me)
13. Retrieval-Augmented Generation: Easy to use but hard to master ..., [https://pravi.tech/posts/rag-intro/](https://pravi.tech/posts/rag-intro/?ref=yonglun.me)
14. A Survey of Graph Retrieval-Augmented Generation for Customized Large Language Models - arXiv, [https://arxiv.org/html/2501.13958v1](https://arxiv.org/html/2501.13958v1?ref=yonglun.me)
15. MA-RAG: Multi-Agent Retrieval-Augmented Generation via Collaborative Chain-of-Thought Reasoning - arXiv, [https://arxiv.org/html/2505.20096v1](https://arxiv.org/html/2505.20096v1?ref=yonglun.me)
16. Chunking Optimization for Retrieval-Augmented Generation (RAG) - Squareboat, [https://www.squareboat.com/blog/chunking-optimization-for-retrieval-augmented-generation](https://www.squareboat.com/blog/chunking-optimization-for-retrieval-augmented-generation?ref=yonglun.me)
17. 5 RAG Chunking Strategies for Better Retrieval-Augmented Generation - Lettria, [https://www.lettria.com/blogpost/5-rag-chunking-strategies-for-better-retrieval-augmented-generation](https://www.lettria.com/blogpost/5-rag-chunking-strategies-for-better-retrieval-augmented-generation?ref=yonglun.me)
18. Chunking in RAG: Strategies for Optimal Text Splitting - Chitika, [https://www.chitika.com/understanding-chunking-in-retrieval-augmented-generation-rag-strategies-techniques-and-applications/](https://www.chitika.com/understanding-chunking-in-retrieval-augmented-generation-rag-strategies-techniques-and-applications/?ref=yonglun.me)
19. Mix-of-Granularity: Optimize the Chunking Granularity for Retrieval-Augmented Generation - Powerdrill, [https://powerdrill.ai/discover/discover-Mix-of-Granularity-Optimize-the-clx4ktn2104l6019n4h6q5sy2](https://powerdrill.ai/discover/discover-Mix-of-Granularity-Optimize-the-clx4ktn2104l6019n4h6q5sy2?ref=yonglun.me)
20. A Deep-Dive into Chunking Strategy, Chunking Methods, and Precision in RAG Applications, [https://www.superteams.ai/blog/a-deep-dive-into-chunking-strategy-chunking-methods-and-precision-in-rag-applications](https://www.superteams.ai/blog/a-deep-dive-into-chunking-strategy-chunking-methods-and-precision-in-rag-applications?ref=yonglun.me)
21. [aclanthology.org](http://aclanthology.org/?ref=yonglun.me), [https://aclanthology.org/2025.coling-main.384.pdf](https://aclanthology.org/2025.coling-main.384.pdf?ref=yonglun.me)
22. Understanding Metadata in RAG | Vectorize Docs, [https://docs.vectorize.io/rag-pipelines/understanding-metadata/](https://docs.vectorize.io/rag-pipelines/understanding-metadata/?ref=yonglun.me)
23. Leveraging Metadata in RAG Customization | deepset Blog, [https://www.deepset.ai/blog/leveraging-metadata-in-rag-customization](https://www.deepset.ai/blog/leveraging-metadata-in-rag-customization?ref=yonglun.me)
24. A Survey of Graph Retrieval-Augmented Generation for Customized Large Language Models - arXiv, [https://arxiv.org/pdf/2501.13958](https://arxiv.org/pdf/2501.13958?ref=yonglun.me)
25. \[2501.13958\] A Survey of Graph Retrieval-Augmented Generation for Customized Large Language Models - arXiv, [https://arxiv.org/abs/2501.13958](https://arxiv.org/abs/2501.13958?ref=yonglun.me)
26. RAS: Retrieval-And-Structuring for Knowledge-Intensive LLM Generation - arXiv, [https://arxiv.org/html/2502.10996v2](https://arxiv.org/html/2502.10996v2?ref=yonglun.me)
27. (PDF) Advancing Retrieval-Augmented Generation (RAG ..., [https://www.researchgate.net/publication/388722115\_Advancing\_Retrieval-Augmented\_Generation\_RAG\_Innovations\_Challenges\_and\_the\_Future\_of\_AI\_Reasoning](https://www.researchgate.net/publication/388722115%5FAdvancing%5FRetrieval-Augmented%5FGeneration%5FRAG%5FInnovations%5FChallenges%5Fand%5Fthe%5FFuture%5Fof%5FAI%5FReasoning?ref=yonglun.me)
28. [arxiv.org](http://arxiv.org/?ref=yonglun.me), [https://arxiv.org/abs/2503.23013](https://arxiv.org/abs/2503.23013?ref=yonglun.me)
29. LLM-QE: Improving Query Expansion by Aligning Large Language Models with Ranking Preferences - arXiv, [https://arxiv.org/html/2502.17057v1](https://arxiv.org/html/2502.17057v1?ref=yonglun.me)
30. \[Literature Review\] LLM-QE: Improving Query Expansion by Aligning Large Language Models with Ranking Preferences - Moonlight, [https://www.themoonlight.io/en/review/llm-qe-improving-query-expansion-by-aligning-large-language-models-with-ranking-preferences](https://www.themoonlight.io/en/review/llm-qe-improving-query-expansion-by-aligning-large-language-models-with-ranking-preferences?ref=yonglun.me)
31. llm qe | PDF | Information Retrieval | Machine Learning - Scribd, [https://www.scribd.com/document/854327253/llm-qe](https://www.scribd.com/document/854327253/llm-qe?ref=yonglun.me)
32. LLM-QE: Improving Query Expansion by Aligning Large Language Models with Ranking Preferences | Request PDF - ResearchGate, [https://www.researchgate.net/publication/389315082\_LLM-QE\_Improving\_Query\_Expansion\_by\_Aligning\_Large\_Language\_Models\_with\_Ranking\_Preferences](https://www.researchgate.net/publication/389315082%5FLLM-QE%5FImproving%5FQuery%5FExpansion%5Fby%5FAligning%5FLarge%5FLanguage%5FModels%5Fwith%5FRanking%5FPreferences?ref=yonglun.me)
33. Daily Papers - Hugging Face, [https://huggingface.co/papers?q=Dense process rewards](https://huggingface.co/papers?q=Dense%20process%20rewards&ref=yonglun.me)
34. ictnlp/LevelRAG: The official implementation of "LevelRAG ... - GitHub， [https://github.com/ictnlp/LevelRAG](https://github.com/ictnlp/LevelRAG?ref=yonglun.me)
35. Re-ranking the Context for Multimodal Retrieval Augmented Generation - arXiv, [https://arxiv.org/html/2501.04695v1](https://arxiv.org/html/2501.04695v1?ref=yonglun.me)
36. Replacing Re-ranking with Selection in RAG for Sensitive Domains - arXiv, [https://arxiv.org/html/2505.16014v1](https://arxiv.org/html/2505.16014v1?ref=yonglun.me)
37. How to Select the Best Re-Ranking Model in RAG? - ADaSci, [https://adasci.org/how-to-select-the-best-re-ranking-model-in-rag/](https://adasci.org/how-to-select-the-best-re-ranking-model-in-rag/?ref=yonglun.me)
38. "Boosting Multi-Modal RAG Systems: The Power of Relevancy Scoring" - DEV Community, [https://dev.to/gilles\_hamelink\_ea9ff7d93/boosting-multi-modal-rag-systems-the-power-of-relevancy-scoring-1m90](https://dev.to/gilles%5Fhamelink%5Fea9ff7d93/boosting-multi-modal-rag-systems-the-power-of-relevancy-scoring-1m90?ref=yonglun.me)
39. Replacing Re-ranking with Selection in RAG for Sensitive Domains - arXiv, [https://arxiv.org/pdf/2505.16014](https://arxiv.org/pdf/2505.16014?ref=yonglun.me)
40. [arxiv.org](http://arxiv.org/?ref=yonglun.me), [https://arxiv.org/html/2501.16075v1](https://arxiv.org/html/2501.16075v1?ref=yonglun.me)
41. MacRAG: Compress, Slice, and Scale-up for Multi-Scale Adaptive Context RAG - arXiv, [https://arxiv.org/html/2505.06569v1](https://arxiv.org/html/2505.06569v1?ref=yonglun.me)
42. MacRAG: Compress, Slice, and Scale-up for Multi-scale Adaptive Context RAG - arXiv, [https://arxiv.org/html/2505.06569v2](https://arxiv.org/html/2505.06569v2?ref=yonglun.me)
43. \[Literature Review\] PISCO: Pretty Simple Compression for Retrieval-Augmented Generation, [https://www.themoonlight.io/review/pisco-pretty-simple-compression-for-retrieval-augmented-generation](https://www.themoonlight.io/review/pisco-pretty-simple-compression-for-retrieval-augmented-generation?ref=yonglun.me)
44. PISCO: Pretty Simple Compression for Retrieval-Augmented Generation - ChatPaper, [https://chatpaper.com/chatpaper/paper/102634](https://chatpaper.com/chatpaper/paper/102634?ref=yonglun.me)
45. [arxiv.org](http://arxiv.org/?ref=yonglun.me), [https://arxiv.org/abs/2503.04388](https://arxiv.org/abs/2503.04388?ref=yonglun.me)
46. HD-RAG: Retrieval-Augmented Generation for Hybrid Documents Containing Text and Hierarchical Tables - arXiv, [https://arxiv.org/html/2504.09554v1](https://arxiv.org/html/2504.09554v1?ref=yonglun.me)
47. [arxiv.org](http://arxiv.org/?ref=yonglun.me), [https://arxiv.org/html/2505.20245](https://arxiv.org/html/2505.20245?ref=yonglun.me)
48. AlignRAG: Leveraging Critique Learning for Evidence-Sensitive Retrieval-Augmented Reasoning - arXiv, [https://arxiv.org/html/2504.14858v3](https://arxiv.org/html/2504.14858v3?ref=yonglun.me)
49. Self-RAG: Learning to Retrieve, Generate and Critique through Self ..., [https://selfrag.github.io/](https://selfrag.github.io/?ref=yonglun.me)
50. Retrieval-Augmented Generation: A Comprehensive Survey of Architectures, Enhancements, and Robustness Frontiers - arXiv, [https://arxiv.org/html/2506.00054v1](https://arxiv.org/html/2506.00054v1?ref=yonglun.me)
51. AlignRAG: An Adaptable Framework for Resolving Misalignments in Retrieval-Aware Reasoning of RAG - arXiv, [https://arxiv.org/html/2504.14858v1](https://arxiv.org/html/2504.14858v1?ref=yonglun.me)
52. AlignRAG: Leveraging Critique Learning for Evidence-Sensitive Retrieval-Augmented Reasoning - arXiv, [https://arxiv.org/html/2504.14858v2](https://arxiv.org/html/2504.14858v2?ref=yonglun.me)
53. [arxiv.org](http://arxiv.org/?ref=yonglun.me), [https://arxiv.org/abs/2411.19443](https://arxiv.org/abs/2411.19443?ref=yonglun.me)
54. Auto-RAG: Autonomous Retrieval-Augmented Generation for Large Language Models, [https://arxiv.org/html/2411.19443v1](https://arxiv.org/html/2411.19443v1?ref=yonglun.me)
55. \[Papierüberprüfung\] Auto-RAG: Autonomous Retrieval-Augmented Generation for Large Language Models - Moonlight | AI Colleague for Research Papers, [https://www.themoonlight.io/de/review/auto-rag-autonomous-retrieval-augmented-generation-for-large-language-models](https://www.themoonlight.io/de/review/auto-rag-autonomous-retrieval-augmented-generation-for-large-language-models?ref=yonglun.me)
56. \[2402.03367\] RAG-Fusion: a New Take on Retrieval-Augmented Generation - arXiv, [https://arxiv.org/abs/2402.03367](https://arxiv.org/abs/2402.03367?ref=yonglun.me)
57. RAG-Fusion: a New Take on Retrieval-Augmented Generation - arXiv, [https://arxiv.org/html/2402.03367v2](https://arxiv.org/html/2402.03367v2?ref=yonglun.me)
58. Exploring RAG systems: GraphRAG, Speculative RAG, and RAG-Fusion - HTEC, [https://htec.com/insights/blogs/exploring-rag-systems-graphrag-speculative-rag-and-rag-fusion/](https://htec.com/insights/blogs/exploring-rag-systems-graphrag-speculative-rag-and-rag-fusion/?ref=yonglun.me)
59. [arxiv.org](http://arxiv.org/?ref=yonglun.me),[https://arxiv.org/pdf/2401.15884](https://arxiv.org/pdf/2401.15884?ref=yonglun.me)
60. Corrective Retrieval Augmented Generation - arXiv, [https://arxiv.org/html/2401.15884v2](https://arxiv.org/html/2401.15884v2?ref=yonglun.me)
61. RAG techniques - IBM, [https://www.ibm.com/think/topics/rag-techniques](https://www.ibm.com/think/topics/rag-techniques?ref=yonglun.me)
62. HD-RAG: Retrieval-Augmented Generation for Hybrid Documents Containing Text and Hierarchical Tables - arXiv, [https://www.arxiv.org/pdf/2504.09554](https://www.arxiv.org/pdf/2504.09554?ref=yonglun.me)
63. [arxiv.org](http://arxiv.org/?ref=yonglun.me), [https://arxiv.org/abs/2501.04652](https://arxiv.org/abs/2501.04652?ref=yonglun.me)
64. [arxiv.org](http://arxiv.org/?ref=yonglun.me), [https://arxiv.org/abs/2505.10792](https://arxiv.org/abs/2505.10792?ref=yonglun.me)
65. [arxiv.org](http://arxiv.org/?ref=yonglun.me), [https://arxiv.org/abs/2501.11929](https://arxiv.org/abs/2501.11929?ref=yonglun.me)
66. ALoFTRAG: Automatic Local Fine Tuning for Retrieval Augmented Generation - arXiv, [https://arxiv.org/html/2501.11929v1](https://arxiv.org/html/2501.11929v1?ref=yonglun.me)
67. An Automated and Scalable TRIaD for the Evaluation of RAG-based Clinical Question Answering Systems - arXiv, [https://arxiv.org/html/2501.08208](https://arxiv.org/html/2501.08208?ref=yonglun.me)
68. arXiv:2309.15217v1 \[[cs.CL](http://cs.cl/?ref=yonglun.me)\] 26 Sep 2023, [https://r.jordan.im/download/language-models/es2023.pdf](https://r.jordan.im/download/language-models/es2023.pdf?ref=yonglun.me)
69. RAG Evaluation Metrics: Assessing Answer Relevancy, Faithfulness ...,[https://www.confident-ai.com/blog/rag-evaluation-metrics-answer-relevancy-faithfulness-and-more](https://www.confident-ai.com/blog/rag-evaluation-metrics-answer-relevancy-faithfulness-and-more?ref=yonglun.me)
70. Best Practices in RAG Evaluation: A Comprehensive Guide - Qdrant, [https://qdrant.tech/blog/rag-evaluation-guide/](https://qdrant.tech/blog/rag-evaluation-guide/?ref=yonglun.me)
71. \[Literature Review\] ASTRID -- An Automated and Scalable TRIaD for ..., [https://www.themoonlight.io/en/review/astrid-an-automated-and-scalable-triad-for-the-evaluation-of-rag-based-clinical-question-answering-systems](https://www.themoonlight.io/en/review/astrid-an-automated-and-scalable-triad-for-the-evaluation-of-rag-based-clinical-question-answering-systems?ref=yonglun.me)
72. [arxiv.org](http://arxiv.org/?ref=yonglun.me), [https://arxiv.org/html/2501.08208v1](https://arxiv.org/html/2501.08208v1?ref=yonglun.me)
73. [arxiv.org](http://arxiv.org/?ref=yonglun.me), [https://arxiv.org/abs/2401.05856](https://arxiv.org/abs/2401.05856?ref=yonglun.me)
74. Retrieval-Augmented Generation (RAG): 2025 Definitive Guide, [https://www.chitika.com/retrieval-augmented-generation-rag-the-definitive-guide-2025/](https://www.chitika.com/retrieval-augmented-generation-rag-the-definitive-guide-2025/?ref=yonglun.me)
75. Emulating Retrieval Augmented Generation via Prompt Engineering for Enhanced Long Context Comprehension in LLMs - arXiv, [https://arxiv.org/html/2502.12462v1](https://arxiv.org/html/2502.12462v1?ref=yonglun.me)
76. Emulating Retrieval Augmented Generation via Prompt Engineering for Enhanced Long Context Comprehension in LLMs - ResearchGate, [https://www.researchgate.net/publication/389130691\_Emulating\_Retrieval\_Augmented\_Generation\_via\_Prompt\_Engineering\_for\_Enhanced\_Long\_Context\_Comprehension\_in\_LLMs](https://www.researchgate.net/publication/389130691%5FEmulating%5FRetrieval%5FAugmented%5FGeneration%5Fvia%5FPrompt%5FEngineering%5Ffor%5FEnhanced%5FLong%5FContext%5FComprehension%5Fin%5FLLMs?ref=yonglun.me)