🔥万字详解:RAG的5种文档切分策略

骞信布道者的 2025-03-15 15:15:29
✨RAG 应用中遇到的外部文档可能会非常大。 因此,需要通过分块(chunking)将大型文档划分为更小且可管理的部分。 这样可以确保文本适配嵌入模型的输入大小,同时还能够提高检索质量。 . 👇以下是适用于 RAG 的五种分块策略: 1️⃣ 固定大小分块 🔸按预定义的字符数、单词数或 Token 数量对文本进行切分,同时保留一定的重叠部分 这种方法实现简单,但可能会将句子截断,从而导致信息分散在不同的块中 . 2️⃣ 语义分块 🔸根据有意义的单元对文档进行分段。 🔸持续将单元添加到现有块中,直到余弦相似度显著下降。 🔸一旦下降明显,就开始新的分块。 与固定大小分块不同,这种方法能够保持语言的自然流畅性。 . 3️⃣ 递归分块 🔸基于内在分隔符(如段落或章节)进行分块。 🔸如果某个块的大小超过限制,则将其进一步分割为更小的块。 这种方法能够保持语言的自然流畅性。 . 4️⃣ 基于文档结构的分块 🔸利用文档的内在结构(如标题、章节或段落)进行分块。 这种方法能够保持文档的自然结构,但前提是文档具有清晰的结构。 . 5️⃣ 基于 LLM 的分块 🔸使用提示引导 LLM 生成有意义的分块 这种方法能够保留语义准确性,因为 LLM 可以理解上下文和含义。 然而,它的计算成本较高,并受限于 LLM 的上下文长度。 . 🚗每种分块技术都有其自身的优点和权衡。选择哪种策略取决于数据的特性、嵌入模型的能力、计算资源等因素。

0 阅读:0
骞信布道者的

骞信布道者的

感谢大家的关注