---
title: RAG优化策略汇总
date: 2026-01-11 12:42:55
categories:
  - 实习笔记
---

# 数据层——chunks策略优化

经典RAG系统面临接受文档长度有限的问题，当私有数据量过大时，传入所有context信息可能导致提示词过长，从而影响模型的处理效率或达到长度上限。在这个流程中，要实现高质量的检索，需要对原始知识文档进行有效的预处理，这也就引出了 RAG 流程中一个至关重要的准备工作——**文档分块** (Chunking)。

## 固定大小分块

按照预先设定的固定长度（ 最大 token 数）将文本进行切割。为了尽量减少信息损失，通常会在相邻的块之间保留一部分重叠内容（**Overlap**）。

![image-20260126163455403](2026-02-10-RAG优化策略汇总/image-20260126163455403.png)

## 语义分块

将语义关联紧密的句子或段落聚合在一起。

先**将文本分成基础单元**（如句子），然后计算相邻单元的语义相似度（例如通过嵌入向量的余弦相似度），如果相似度高于某个阈值，则合并这些单元，**直到相似度显著下降时才创建一个新的块**。

![image-20260126164105843](2026-02-10-RAG优化策略汇总/image-20260126164105843.png)

## 递归分块

优先按段落等大语义标识切割，对超限部分逐级降维、递归细化（如换行、句点），直至全部分块达标，实现“大块优先、语义保护、按需精分。

![image-20260126164335089](2026-02-10-RAG优化策略汇总/image-20260126164335089.png)

## 基于文档结构的分块

直接利用文档本身固有的、明确的结构元素（如标题层级、章节、列表项、表格、代码块、Markdown 标记等）来定义块的边界。目标是使每个块尽可能对应文档中的一个逻辑组成部分。

![image-20260126165434708](2026-02-10-RAG优化策略汇总/image-20260126165434708.png)

## 基于大模型的分块

利用大型语言模型 (LLM) 自身的理解能力来判断文本的最佳分割点。可以通过设计合适的提示 (Prompt)，让 LLM 将文本分割成语义上内聚且与其他部分相对独立的块。

![image-20260126165513415](2026-02-10-RAG优化策略汇总/image-20260126165513415.png)

# 检索层——检索增强策略

之前写的：https://kukudelin.top/2025/09/06/RAG%E7%9A%84%E8%AF%84%E4%BC%B0%EF%BC%88RAGAS%EF%BC%89%E5%92%8C%E6%A3%80%E7%B4%A2%E4%BC%98%E5%8C%96/
