PDF RAG 分块与引用包生成器

将 PDF 转成带页码、bbox 与标题路径的 RAG 分块 JSON,便于向量库入库和引用回链

上传 PDF 后,工具会调用 OpenDataLoader 输出 JSON,再把段落、列表、标题和表格整理成适合检索增强生成的 chunk。每个 chunk 都会附带页码、bounding box 和标题路径,方便向量检索、答案引用和 PDF 定位。

示例结果

1 个示例

为财务报告准备 RAG 引用包

真实测试生成了 2 个 chunk 和 57 个语义节点,适合向量库入库与回答引用。

pdf-rag-chunker-citation-pack-example1.json 查看文件
查看输入参数
{ "pdfFile": "/public/samples/pdf/financial-report-example1.pdf", "chunkMode": "heading-aware", "maxChars": 900, "useStructTree": true, "sanitizeSensitiveData": false, "includeTableNodes": true }

Click to upload file or drag and drop file here

Maximum file size: 10MB Supported formats: application/pdf

关键信息

分类
AI 与生成器
输入类型
file, select, number, checkbox
输出类型
file
样本覆盖
4
支持 API
Yes

概览

PDF RAG 分块与引用包生成器是一款专为检索增强生成(RAG)设计的预处理工具。它能够将复杂的 PDF 文档解析为结构化的 JSON 分块,并自动提取页码、坐标(Bounding Box)及标题路径等关键元数据,确保 AI 系统在生成回答时能够实现精准的来源追溯与引用回链。

适用场景

  • 构建需要提供精确引用来源(如页码和原文位置)的 AI 问答系统时。
  • 处理包含复杂层级标题、列表或表格的 PDF 文档,且需要保留语义上下文时。
  • 准备将大规模 PDF 文档库导入向量数据库(如 Pinecone、Milvus)进行索引时。

工作原理

  • 上传 PDF 文件并配置分块参数,如选择“按标题聚合”模式以保持章节内容的语义完整性。
  • 系统利用结构树解析技术提取文档中的段落、表格和列表,并记录每个元素在 PDF 中的物理坐标。
  • 根据设定的最大字符数限制,将提取的语义节点合并为带有元数据的 JSON 分块包。
  • 输出包含标题路径、页码和 Bounding Box 的 JSON 文件,直接对接向量化流水线。

使用场景

企业知识库构建:将内部规章制度 PDF 转为带引用的 RAG 数据源,实现精准问答。
法律合规审查:自动化处理法律条文,并在 AI 审查结果中直接链接到合同的具体条款位置。
学术文献检索:批量处理论文 PDF,生成带有章节路径和页码的索引,提升学术搜索的准确性。

用户案例

1. 财务报告 RAG 预处理

AI 工程师
背景原因
工程师需要将一份 100 页的年度财务报告导入 RAG 系统,要求 AI 在回答利润数据时必须指明出自哪一页。
解决问题
传统的文本提取会丢失页码和表格关联,导致 AI 无法提供准确的引用回链。
如何使用
上传财务报告 PDF,选择“按标题聚合”模式,并勾选“包含表格节点”和“使用结构树”。
示例配置
{"chunkMode": "heading-aware", "maxChars": 900, "useStructTree": true, "includeTableNodes": true}
效果
生成的 JSON 包含带页码和 bbox 的分块,AI 检索后可直接在 UI 界面跳转并高亮 PDF 对应位置。

2. 技术手册语义分块

知识库管理员
背景原因
管理员正在处理一份包含大量嵌套标题和操作步骤的技术手册。
解决问题
简单的固定长度切分会导致操作步骤与其所属的设备型号标题断开,影响检索效果。
如何使用
上传手册 PDF,设置分块模式为“按标题聚合”,确保每个分块都携带完整的标题路径元数据。
示例配置
{"chunkMode": "heading-aware", "maxChars": 800, "useStructTree": true}
效果
每个分块都附带了如“安装指南 > 电机组装 > 步骤1”的路径信息,显著提升了 AI 理解上下文的能力。

用 Samples 测试

pdf, file

相关专题

常见问题

“按标题聚合”和“逐元素分块”有什么区别?

按标题聚合会根据文档目录结构将内容归类,适合保持上下文;逐元素分块则将每个段落或表格视为独立块,适合精细化检索。

导出的 JSON 文件可以直接用于向量数据库吗?

可以,生成的 JSON 结构包含了文本内容及其对应的元数据,非常适合直接映射到向量数据库的 Metadata 字段。

工具如何处理 PDF 中的表格?

开启“包含表格节点”后,工具会将表格识别为独立单元,并保留其在文档中的位置信息,方便 AI 针对表格数据进行回答。

Bounding Box 信息有什么用途?

Bounding Box 记录了文本在页面上的具体坐标,前端界面可以利用这些数据在 PDF 预览器中高亮显示 AI 引用的原文区域。

最大字符数设置多少比较合适?

通常建议设置在 500 到 1000 字符之间,这能平衡语义完整性与向量检索的精度,具体取决于您的 Embedding 模型限制。

API 文档

请求端点

POST /zh/api/tools/pdf-rag-chunker-citation-pack

请求参数

参数名 类型 必填 描述
pdfFile file (需要先上传) -
chunkMode select -
maxChars number -
useStructTree checkbox -
sanitizeSensitiveData checkbox -
includeTableNodes checkbox -

文件类型参数需要先通过 POST /upload/pdf-rag-chunker-citation-pack 上传获取 filePath,然后将 filePath 传递给对应的文件字段。

响应格式

{
  "filePath": "/public/processing/randomid.ext",
  "fileName": "output.ext",
  "contentType": "application/octet-stream",
  "size": 1024,
  "metadata": {
    "key": "value"
  },
  "error": "Error message (optional)",
  "message": "Notification message (optional)"
}
文件: 文件

AI MCP 文档

将此工具添加到您的 MCP 服务器配置中:

{
  "mcpServers": {
    "elysiatools-pdf-rag-chunker-citation-pack": {
      "name": "pdf-rag-chunker-citation-pack",
      "description": "将 PDF 转成带页码、bbox 与标题路径的 RAG 分块 JSON,便于向量库入库和引用回链",
      "baseUrl": "https://elysiatools.com/mcp/sse?toolId=pdf-rag-chunker-citation-pack",
      "command": "",
      "args": [],
      "env": {},
      "isActive": true,
      "type": "sse"
    }
  }
}

你可以串联多个工具,比如:`https://elysiatools.com/mcp/sse?toolId=png-to-webp,jpg-to-webp,gif-to-webp`,最多20个。

支持 URL 文件链接或 Base64 编码作为文件参数。

如果遇见问题,请联系我们:[email protected]