尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

RAG文档切片(Chunking)核心策略

RAG文档切片(Chunking)核心策略
📅 发布时间:2026/7/13 6:23:39

RAG文档切片(Chunking)核心策略

一、核心选型思路

切片目的:兼顾上下文完整性和模型上下文窗口限制、向量语义独立,减少跨‑chunk语义割裂,提升召回准确率;分基础策略、高级策略。

  1. 基础切分策略(落地最常用)

(1)固定长度切片(Fixed‑size Chunking)

  1. 逻辑:设定chunk长度+重叠值(overlap)。

• 示例:chunk_size=512 tokens,overlap=100 tokens;按token顺序截断。

  1. 优点:实现最简单;适配大部分通用文档。

  2. 缺点:极易切断句子、段落、逻辑单元;同一段语义被拆分,召回效果差。
    适用:纯零散文本、聊天记录。
    (2)基于分隔符分层切分(RecursiveCharacterTextSplitter,LangChain默认)

分层分隔符优先级:“\n\n” > “\n” > “.” > “,”

  1. 逻辑:优先按段落分割;段落太长再换行;换行过长再按句子切;最后按标点切;切完仍控制在chunk‑size内,同时保留overlap。

  2. 优点:优先保证段落完整,效果远好于固定切片;工程成熟。

  3. 缺点:长表格、代码、公式场景依旧容易被拆分。
    适用:Word、PDF、手册、业务文档、技术文档(最推荐通用方案)。
    (3)按语义句子切分(Sentence‑level split)

  4. 逻辑:先用NLP分句,再连续聚合多个句子直到接近chunk_size,不会割裂单句。

  5. 实现工具:NLTK、spaCy、Llama‑Index SentenceSplitter。

  6. 优点:句子不会被拆开;语义单元完整。

  7. 缺点:句子过多时,远距离上下文关联性丢失;长文档上下文断裂。

  8. 进阶高级切片策略(生产环境优化方案)

(1)基于标题层级拆分(Hierarchical Chunking,分层索引)

  1. 原理:解析文档目录、一级标题、二级标题,把同一章节的内容划分为一个chunk;构建父子层级:

◦ 大块(父chunk:整个章节,用于粗召回)

◦ 小块(子chunk:512‑1024token用于精细向量检索)

  1. 典型结构示例:

1 产品介绍(父块3000token)

1.1 功能1(子chunk1)

1.2 功能2(子chunk2)

  1. 检索方式:先匹配父章节,再匹配子片段;大幅度减少跨chunk问题。
    适用:带目录的PDF、技术手册、规章文档、API文档,企业文档首选高级方案。
    (2)语义聚类切片(Semantic Chunking)

  2. 逻辑:
    1)对每句话生成向量;
    2)计算相邻句子向量相似度;
    3)相似度明显下降就切分,自动识别话题边界,而不是依靠字符数量。

  3. 优点:完全依据话题变化切分,同一个话题内容全部放在一块,RAG召回效果最好。

  4. 缺点:计算量大;耗时更长;消耗更多embedding调用。
    适用:长篇随笔、方案、调研报告、叙事类文档。
    (3)基于LLM智能切片(Agent‑Split)

让大模型判断在哪里分割:提示LLM识别话题变化点输出分割位置。

• 优势:理解深层逻辑,表格、代码、业务复杂文档效果最好;

• 劣势:成本最高,速度慢,不适合百万级海量文档。

(4)结构化文档专属策略(表格、Markdown、代码)

  1. Markdown:优先按#、##、###标题切分;代码文件按函数、类进行切片;

  2. PDF表格:不要拆表格,整张表格作为一个chunk;如果表格过大,把表格转为文本描述。

  3. PPT:单页PPT作为基础chunk单元。

  4. Overlap重叠值怎么设置(关键参数)

• 通用场景:chunk_size = 512‑1024 tokens,overlap取chunk‑size的10%‑20%

◦ 512 chunk → overlap 60‑100

◦ 1024 chunk → overlap 150‑200

• 文档句子很长:提高overlap至25%;

• 短句居多:10%足够;
overlap过高:向量内容冗余;过低:上下文断裂。
4. Chunk‑Size选型经验(行业落地经验)

  1. 小模型Embedding(bge‑small):chunk_size = 512–768 token(主流);

  2. 高精度检索(bge‑large):768‑1024;

  3. 长摘要类问题:1500‑2000;

  4. 代码、公式文档:512以内;

  5. 注意:chunk不是越大越好:chunk过大,Embedding向量泛化,精准度下降;chunk过小丢失上下文。

  6. 双层索引架构(工业界标准RAG架构)

  7. 粗粒度chunk(3000‑4000token):用于判断大章节;

  8. 细粒度chunk(512‑1024token):向量库检索;

  9. 召回流程:
    用户问题 → 匹配粗块筛选章节 → 再在章节内检索细chunk → 送入LLM生成答案。

  10. 不同文档类型最优切片策略总结
    文档类型 推荐切片方案 chunk_size overlap
    普通Word、PDF文档 递归字符分割RecursiveSplitter 768 120
    带目录手册、规章制度 标题分层Hierarchical Chunking 800 150
    调研报告、长篇文章 语义分割Semantic Chunking 1024 180
    Python/Java代码文件 按函数类分割 512 80
    表格较多文档 LLM识别整块表格 不拆分表格 10%

  11. 避坑要点

  12. 禁止只使用固定长度切片做企业RAG,效果普遍很差;

  13. 中文文档:尽量以token计算,不要按字符,1token≈1.8‑2个汉字;

  14. 切片后要做清洗:去掉多余换行、空格、页眉页脚、页码,减少噪声;

  15. 长段落优先分层切片,其次语义切片,最后才是固定长度。

如果你需要,我可以给你一份Python示例代码:递归切片 + 语义切片二选一(LangChain版本)。

相关新闻

  • C++单元测试实战:从零掌握Google Test框架与工程实践
  • Tushare接口文档:ST风险警示板股票(st)
  • 模板驱动型文档自动化:从填空式生成到智能合规输出

最新新闻

  • PUBG罗技鼠标宏压枪脚本:从零掌握武器后坐力控制的终极指南
  • 深度学习模型工作原理:从神经网络基础到Transformer架构详解
  • STM32L151ZD与MCP3551高精度数据采集方案详解
  • Git 2.45.1 右键菜单修复:3种方案对比与一键注册表脚本
  • 高级java每日一道面试题-2026年04月08日-实战篇[Docker]-如何查看容器内部的进程?
  • NBM7100A与STM32F745VG延长不可充电电池寿命方案

日新闻

  • AI推荐结果怎么优化:适合深圳少儿素质培训机构的GEO服务商哪家好?全程零代码SAAS操作
  • RAG 实战教学完全指南
  • 企业级API网关架构深度解析:IBM Microgateway的技术实现与选型指南

周新闻

  • IX9104 PCIe5.0 高速交换芯片@ACP#完整规格 + 应用场景总结
  • Unity游戏集成Coze智能体:实现NPC智能对话与知识库联动
  • SAP EPIC 建行回单查询:从标准类CL_EPIC_EXAMPLE_CN_CCB_GHTD到Z类的5处关键修改

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号