RAGFlow 的文档切分并非单一模式,而是提供了 12 种内置的“切分模板” 和高度自由的自定义配置选项。

🗺️ 切分模板总览

以下是 RAGFlow 当前支持的 12 种切分模板及其适用场景:

模板名称 适用场景 说明
General (通用) 结构不明确的混合文档,如技术博客、新闻等 默认模板,按预设的 Token 数量顺序切分。
Q&A (问答对) FAQ、客服对话等明确的问题-答案数据集 将每一行问答对作为一个独立的切片,保持问答上下文完整。
Resume (简历) 个人简历、职位描述等 自动识别简历中的“教育背景”、“工作经历”等模块进行切分。
Manual (手动) 章节结构清晰的教材、技术手册等 允许用户根据文档的章节标题、分段符等自定义分割点。
Table (表格) 数据密集型表格,如财务报表、科研数据 精准识别表格结构(如合并单元格),并将其转换为结构化数据后切片。
Paper (论文) 含公式、图表的学术论文、技术报告 支持 LaTeX 公式解析,并能自动识别图表标题与正文的关联。
Book (书籍) 长篇书籍、小说等 按章节或分卷逻辑切分,适合处理长文本。
Laws (法律) 法律法规文档 专门针对法律文本的结构进行优化。
Presentation PPT、PDF 格式的演示文稿 针对演示文稿的布局进行切分。
Picture (图片) JPEG、PNG 等格式的图片文件 针对图片文件的处理。
One (整块) 需要将整个文档作为一个整体处理的场景 不对文档进行切分,整个文档视为一个切片。
Tag (标签) 作为其他数据集的标签集合 功能特殊,作为一个标签集供其他数据集使用。

⚙️ 核心切分逻辑与控制参数

所有切分模式都遵循“先按标识符切,再按大小合”的核心逻辑。具体由以下几个参数控制:

  • 文本分段标识符 (Delimiter):你可以自定义一个或多个分隔符(如 ##)作为切分点。注意:多字符分隔符必须用反引号包裹,如 `##`。
  • 块 Token 数 (Chunk Token Number):这是一个软上限。系统会先按分隔符切分,然后将短片段合并,直到接近设定的 Token 数。
  • **重叠百分比 (Overlapped Percent)**:允许相邻的切片在内容上有部分重叠,以保留上下文信息。

💡 如何选择与配置

  • 按文档类型选择模板:对于结构标准的文档,直接使用对应的预设模板(如 Paper、Book)效果最好。
  • 自定义配置:在 General 或 Manual 模式下,可以灵活调整分隔符和 chunk_token_num。如果想强制每个分隔符独立成块,可将 chunk_token_num 设得很小(如 2)。
  • 专业解析器 (DeepDoc):对于 PDF、DOCX 等格式,RAGFlow 的 deepdoc 解析器会在切分前进行文档布局分析(DLR),识别标题、段落等结构,为后续的智能切分提供基础。

总的来说,RAGFlow 的文档切分非常灵活,既有针对特定文档的“开箱即用”模板,也提供了精细的参数让你能按需调整。