RAG 离线 Pipeline 3 + 4(全景):清洗去噪 → 切成语义完整的 chunk。这两步直接决定检索召回的噪声率语义粒度


Pipeline 3:数据清洗

原始数据常包含冗余信息(页眉页脚、重复段落)、无效内容(乱码、无意义符号),需通过清洗实现"数据瘦身",同时标准化格式以提升后续处理效率。

核心原则:保留语义核心,剔除无关信息。

清洗 4 项

做什么 举例
删除冗余信息 删除文档中重复出现的内容(如会议纪要中反复提及的同一描述)、格式性内容(PDF 的页眉、页码) "XX 公司内部资料"
内容改写 修正错别字(如"人工只能"改为"人工智能")、语法错误(如"模型不太好用功能"改为"模型功能不太好用")、补全缩略语 "大语言模型的优劣胜于语义理解能力"
格式标准化 编码统一为 UTF-8、日期统一格式(2025/12/18 → 2025 年 12 月 18 日)、表格转为"表头:内容"文本格式、公式用 LaTeX 适配下游模型
敏感信息过滤 过滤身份证号、手机号、密码等隐私信息(如"手机号 138XXXX1234"→"手机号已脱敏"),规避合规风险 PII 脱敏

质量校验与修正

类别 做什么
自动校验 验证解析后文本长度 ≥ 原始文档的 90%(排除格式内容),表格列数与原始一致
人工抽样 重点核查专业术语(如医疗的"靶点药物")、公式、特殊符号的解析准确性。组织业务专家参与抽样,比例 ≥ 3%、专业文档 ≥ 10%
异常处理 对模糊图片、加密文档等解析失败案例,触发人工干预流程

Pipeline 4:文本分割(Chunking)

将长文档拆分为固定长度的"知识块",既保证单个 Chunk 语义完整,又便于后续向量化与检索。

核心:语义边界优先,长度适配模型。

三大要点

要点 说明
语义完整性 优先按"自然语义边界"分割(段落、章节、句子),避免将"结论"与"论证过程"拆分到不同 Chunk
长度适配 Chunk 长度需匹配模型的输入限制(GPT-4 Embedding 支持 1000-2000 字符),通常建议中文 300-800 字(按业务调整,如法律文档建议保证条款完整)
重叠窗口机制 避免分割导致的语义丢失,相邻 Chunk 可设置 10%-20% 的重叠(如第一个 Chunk 为"1-500 字",第二个为"450-950 字"),重叠部分优先保留"上下文衔接句"

例:长度适配(客服 FAQ 场景)

Sentence-BERT(all-MiniLM-L6-v2)模型最佳输入长度为 300-500 字符,对应中文约 150-250 字,适合客服 FAQ 场景。

6 大分块策略

分块策略 常见来源
固定长度 按预设字数 / Token 数切割(如 500 字符 / 200 Token),支持 10%-20% 重叠窗口
语义感知 基于 NLP 模型(BERT、spaCy)识别语义边界(句号/感叹号/章节标题),在边界处切割
文档结构 按文档原生结构切割(如 PDF 的章节/页码、Word 的标题层级、Markdown 的 # 标识)
关键词/主题 基于专业术语、主题词聚类(如法律文档的"法条编号"、医疗文档的"病症名称")切割
多粒度 双层分割:先按"大结构"(章节)拆分为"父 Chunk",再按语义拆分为"子 Chunk",建立层级关联
混合分块 融合"结构 + 语义 + 长度"多维度规则(如"先按章节分割 → 再按语义拆分 → 最后校验长度 ≤ 800 字")

面试真题:RAG 文本分割中遇到的挑战是什么?

我们之前使用标点符合(句号、问号等)、字数、段落信息进行基于规则的切分。对于文档的要求很高,一套规则往往只能作用于特定格式的文档;而且对参数非常敏感,文本容易被截断,造成信息或者语义的不完整。

解法:多级文档切分——先按章节/标题切大块,再按语义切子块,三级结构(章/节/句),多 Query 命中不同层级。

PM 此阶段职责

  1. 结合业务场景提出 Chunk 拆分要求。
  2. 协同算法团队确定 Chunk 长度范围。
  3. 定义元数据核心字段。
  4. 设计分割效果验证方案。
  5. 推动建立"分割规则迭代机制",根据后续检索反馈优化策略。

协作对象:算法负责人、内容架构师/业务文档专员。

相关页面

RAG运转流程RAG文档解析RAG向量化与索引数据准备五环节AIPM课程 Day7