在 RAG(检索增强生成)系统中,文本切分(Chunking) 是决定检索质量的关键预处理步骤。切分过大可能导致包含过多噪音,切分过小可能导致上下文缺失。 以下是常见的切分策略,以及“固定大小切分”与“语义切分”的详细对比。 --- 一、 RAG 中常见的文本切分策略 1. 固定大小切分 (Fixed-size Chunking) 这是最基础的方法。直接设定一个固定的字符数(Character)或 Token 数,将文本强行截断。 特点: 通常会设定一个 重叠窗口(Overlap)(例如每块 500 tokens,重叠 50 tokens),以防止上下文在切分点丢失。 适用场景: 快速原型开发、对上下文连贯性要求不高的场景。 2. 递归字符切分 (Recursive Character Chunking) 这是目前最常用的“通用”策略(如 LangChain 的默认策略)。 原理: 它尝试按顺序使用一组分隔符(如 -> -> -> )进行切分。它会优先保持段落完整,如果段落太大,再切分句子,以此类推。 适用场景: 通用文档,试图在保持语义结构和控制块大小之间取得平衡。 3. 基于...