链载Ai

标题: 提升RAG表现的15个实战分块技巧 [打印本页]

作者: 链载Ai    时间: 前天 21:52
标题: 提升RAG表现的15个实战分块技巧

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 14px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">RAG Chunking Techniques
Retrieval-Augmented Generation(RAG)很大程度上取决于你怎么分块数据。
想让LLM检索到真正有意义的上下文?你得用心设计数据的分块方式。

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 14px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">下面是15种关键的分块策略,详细解释,每种都带一个实际的例子和实用的拆分方法。


ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;padding-left: 12px;color: rgb(63, 63, 63);">1. 按行分块(Line-by-Line Chunking)

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 14px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: inherit;color: rgb(250, 81, 81);">是什么:每遇到新行就拆分。

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 14px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: inherit;color: rgb(250, 81, 81);">什么时候用

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 14px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">示例输入

Alice: 嘿,Bob,今天下午3点有空通话吗? 
Bob: 当然,Alice。你想聊项目更新吗?
Alice: 对,还要讨论客户会议。
Bob: 没问题!3点见。

分块输出

为什么


2. 固定大小分块(Fixed-Size Chunking)

是什么:不管内容含义,按固定字数或字符数拆分。

什么时候用

示例输入

Python是一种高级、解释型编程语言。它的简单语法和动态类型使其在快速应用开发和脚本编写中很受欢迎。Python支持多种编程范式,包括结构化、面向对象和函数式编程。它广泛用于Web开发、数据分析、AI、科学计算等领域。

假设固定大小 = 20个单词。

分块输出

为什么


3. 滑动窗口分块(Sliding Window Chunking)

是什么:按固定字数或token分块,但让块之间有重叠,保留上下文。

什么时候用

示例输入

机器学习模型需要大量数据集来训练。数据的质量和数量显著影响模型性能。数据预处理包括清理和转换原始数据为可用输入。

假设窗口大小 = 15个单词,重叠 = 5个单词。

分块输出

为什么


4. 按句子分块(Sentence-Based Chunking)

是什么:每个句子作为一个块。

什么时候用

示例输入

深度学习已经改变了许多技术领域。神经网络现在能在图像识别上超越人类。训练这些模型需要大量计算资源。

分块输出

为什么


5. 按段落分块(Paragraph Chunking)

是什么:每个段落作为一个块。

什么时候用

示例输入

数据科学结合了领域专业知识、编程技能以及数学和统计知识,从数据中提取有意义的洞察。
它是一个跨学科领域,使用计算机科学、统计学、机器学习和数据可视化技术来解决复杂问题。
数据科学家处理大型数据集,以识别趋势、进行预测并推动战略决策。

分块输出

为什么


6. 按页面分块(Page-Based Chunking)

是什么:分页文档中的每一页作为一个块。

什么时候用

示例输入

第1页: 
第1节:RAG简介
Retrieval-Augmented Generation(RAG)系统结合了LLM和信息检索。RAG提升了事实准确性,扩展了模型超越训练数据的知识。

第2页:
第2节:架构
主要组件是retriever(检索相关文档)和generator(根据检索到的上下文生成答案)。

分块输出

为什么


7. 按章节或标题分块(Section or Heading-Based Chunking)

是什么:按标题(H1/H2等,或“## 章节标题”)拆分。

什么时候用

示例输入

# 简介
Retrieval-Augmented Generation(RAG)允许语言模型使用外部信息来改善回答。
# RAG如何工作
RAG首先检索相关文档,然后基于用户查询和上下文生成回答。
# 优点
RAG提升了事实准确性,并支持使用私有或更新的数据。

分块输出

为什么


8. 按关键词分块(Keyword-Based Chunking)

是什么:每次遇到特定关键词(比如“步骤”、“诊断”、“注意”)就拆分。

什么时候用

示例输入

诊断:急性支气管炎。 
症状:持续咳嗽、轻度发烧、胸部不适。
处方:阿莫西林500毫克,每日三次,连续7天。
注意:建议患者休息和补充水分。

关键词:“注意:”

分块输出

为什么


9. 按实体分块(Entity-Based Chunking)

是什么:用Named Entity Recognition(NER)将句子或段落按实体(人、组织、产品等)分组。

什么时候用

示例输入

苹果在年度活动中发布了新款iPhone型号。TimCook展示了聚焦于相机改进和电池续航的新功能。与此同时,三星据传下个月将推出竞争设备。

NER识别:“Apple”、“Tim Cook”、“Samsung”

分块输出

为什么


10. 按Token分块(Token-Based Chunking)

是什么:按token数(模型的处理单位)而非单纯字数拆分。

什么时候用

示例输入

生成式AI的快速增长推动了聊天机器人、文档摘要和数据提取应用的激增。随着模型越来越大,它们需要更多内存和计算,但也为跨行业的自动化开辟了新可能。组织正在探索结合传统算法和大型语言模型的混合系统,以提升性能和成本效率。

假设每个块 = 25个token(模拟:约10个单词=10个token,避免断句)。

分块输出

为什么


11. 表格分块(Table Chunking)

是什么:将每个表格提取为单独的块(可选按行或整个表格)。

什么时候用

示例输入

表格1:季度收入 
| 季度 | 收入(美元) |
|---------|---------------|
| 2024年Q1 | $1,000,000 |
| 2024年Q2 | $1,200,000 |

公司经历了稳定增长,Q2增长尤为明显。

分块输出

为什么


12. 递归分块(Recursive Chunking)

是什么:先按大块(段落或章节)拆分,超大的块再进一步拆(按句子、单词),直到每个块符合大小要求。

什么时候用

示例输入

访谈记录: 
John:一开始我们主要关注用户体验。我们跑了好几次调查,收集反馈,快速迭代。
后来,随着产品成熟,我们开始解决扩展性和基础设施问题。这阶段更具挑战,因为我们需要在扩展时保持系统正常运行。

假设块大小 = 最大20个单词。

步骤1:按段落拆分

步骤2:段落仍超大,拆成句子

分块输出

为什么


13. 语义分块(Semantic Chunking)

是什么:用embeddings或AI将讨论同一主题的句子或段落分组。

什么时候用

示例输入

问:如何重置密码? 
答:前往登录页面,点击“忘记密码”。
问:如何更改邮箱地址?
答:访问你的个人资料设置,输入新邮箱。
问:退款政策是什么?
答:购买后30天内可退款。

假设语义模型检测到“账户管理”和“支付”两个主题。

分块输出

为什么


14. 层次分块(Hierarchical Chunking)

是什么:多级分块——按章节、然后按小节、然后按段落等。

什么时候用

示例输入

第1章:简介 

1.1节:什么是RAG?
Retrieval-Augmented Generation(RAG)结合了LLM和外部数据源,提供最新答案。

1.2节:为什么用RAG?
RAG扩展了模型能力,提升事实准确性,支持私有或动态信息。

分块输出

为什么


15. 内容类型感知分块(Content-Type Aware Chunking)

是什么:对表格、列表、图片、纯文本使用不同的分块策略。

什么时候用

示例输入

摘要: 
本研究探讨了RAG管道的分块策略。结果显示分块方法影响答案质量。

表格1:测试结果
| 方法 | 准确率 |
|----------------|--------|
| 按句子分块 | 85% |
| 滑动窗口分块 | 90% |

图1:管道图(此处未显示图片)

分块输出

为什么


结论

关键要点






欢迎光临 链载Ai (https://www.lianzai.com/) Powered by Discuz! X3.5