文档解析学习目录
知识库简介
文档解析(document parsing)把文件中的字节、页面和布局转换成可检索、可引用、可验证的结构元素。对 RAG 来说,拿到“一大串文字”还不算完成:标题层级、阅读顺序、表格单元格、页码、坐标、权限和解析警告都会影响后续切块与回答证据。
本库采用一条重要边界:先做确定性检测与原生解析,必要时才进入 OCR 或视觉模型;任何概率性结果都必须保留来源与质量状态。 学习项目不会假装仅靠标准库就能解析 PDF 或 Office 文件,而是演示如何安全地登记、分流和拒绝它们。
在总路线中的位置
这是“RAG 与知识库”阶段的入口。先完成 数据清洗 与 JSON,再学习本库。解析产物随后交给 知识库构建 管理版本,并由 Chunking 策略 组合成检索单元。
学习目标
完成后,你应能:
- 区分扩展名、传输
Content-Type、magic bytes 与容器内部检测; - 设计“发现—登记—检测—解析—规范化—验收—发布”的可重放流水线;
- 用严格解码处理 UTF-8、BOM、换行和 Unicode 规范化;
- 保存标题、列表、代码、表格、阅读顺序与来源坐标;
- 区分数字 PDF、扫描 PDF、隐藏文本层、OCR 和 VLM 的能力边界;
- 为未信任文件设置类型、大小、数量、时间、权限和隔离门禁;
- 用自动指标与人工 gold set 判断“可用”,而不是只看进程是否退出成功。
前置知识
推荐学习顺序
- 格式识别与解析流水线:从字节、文件名和内容信号建立安全的路由契约。
- 编码、文本与规范化:避免乱码、静默丢字和不可审计的“清洗”。
- 结构、标题、列表与表格:把正文升级为有层级、顺序和坐标的元素。
- PDF 与 OCR 边界:按页选择原生抽取、OCR、版面模型或人工复核。
- 元数据、质量验证与项目:运行离线检查器,解释通过、复核和失败三种门禁。
建议按“阅读一节—完成节末练习—改一条项目规则—运行测试”的节奏学习。不要先安装大型解析框架;先理解输入、输出、失败和证据契约,之后才能判断框架结果是否可信。
动手实践或项目入口
项目文件:
它只读扫描一个指定目录,对 UTF 文本、Markdown、HTML、CSV 和 JSON 产生确定性清单;对 PDF、Office、压缩包和图片停止在“需要外部适配器”。27 项测试覆盖格式伪装、严格解码、JSON 重复键、CSV 嵌入换行、parse revision、来源行号、内容/元素哈希、符号链接和资源预算等边界;文件在 stat() 预检查后变大时也会在有界读取处被拒绝,不会整份读入内存。
专题项目只验证 parser manifest;先用来源到引用 reference model学习目标不变量,再在跨模块来源适配项目中 fresh 调用当前 parser,并处理原生行坐标、namespaced element ID 与 release crosswalk;External Provenance Artifact v2继续验证 parser record、raw/canonical representation 与 crosswalk 跨 strict JSON boundary 后能否 fresh 重建。
掌握标准
- 我能解释为什么
.pdf后缀、HTTPContent-Type或单个 magic pattern 都不能单独证明文件类型。 - 我能为标题、段落、表格和代码设计带
source_id、顺序、位置和哈希的元素 schema。 - 我不会用
errors="ignore"把解码失败伪装成成功。 - 我能判断某页应原生抽取、OCR、视觉理解还是人工复核。
- 我能说明 OCR 置信度为什么不是“事实正确概率”。
- 我能让相同输入和配置得到相同清单,并在源文件变化时得到新版本 ID。
- 我能设计自动门禁、分层抽样集和关键字段人工验收。
- 我能明确说出项目已验证和未验证的格式能力。
与其他知识库的关系
- 知识库构建:管理原始文件、解析版本、失败队列与发布状态。
- Chunking 策略:组合解析元素,不应重复昂贵的 OCR。
- OCR:深入图像预处理、文字识别和 OCR 评测。
- 多模态 AI:处理图表、公式、视觉问答等超出纯文本解析的任务。
- RAG:检索与回答的质量上限受解析完整性和可追溯性约束。
- AI 安全:未信任文档可能包含恶意容器、脚本、提示注入与敏感信息。
主要参考资料
- IANA Media Types registry
- Apache Tika: Content Detection
- Unicode Standard Annex #15: Normalization Forms
- RFC 8259: The JavaScript Object Notation (JSON) Data Interchange Format
- RFC 4180: Common Format and MIME Type for CSV Files
- pypdf: Extract Text from a PDF
- Tesseract User Manual
- OCRmyPDF Introduction
- OWASP File Upload Cheat Sheet
- Docling documentation
来源获取日期:2026-07-22。工具版本会变化;涉及安装参数和支持格式时,应以当前官方文档为准。