Files
MinerU/docs/docvortex-0.4-migration.md

3.1 KiB
Raw Permalink Blame History

DocVortex 0.4 配套迁移

MinerU 使用 docvortex>=0.4.0,<0.5.0。本轮调整 Python 模块边界,保持文档协议、解析路由、模型回退与渲染语义。

公开入口

原入口或职责 新入口
foundation 几何及 PDF 通用坐标原语 docvortex.geometry
foundation 文本与链接规则 docvortex.content.text、docvortex.content.links
图像统计、素材编码与路径校验 docvortex.assets
PDFDocument、PDFPage、字符和几何契约 docvortex.document.pdf
HTML 来源上下文 docvortex.document.contracts.HtmlSourceContext
原生文字证据、区域表格及 OCR 文本投影 docvortex.analyzers.pdf
模型文本、坐标自动判断与虚拟 OCR token MinerU PDF 分析层
xhigh layout 容器补全 MinerU PDF 分析层
推理平台支持判断 MinerU model/runtime

docvortex.public_api.PUBLIC_API 是静态模块及符号清单。新增跨库依赖必须同时更新清单、文档和契约测试;不能通过基础实现、私有模块或动态别名绕过边界。

行为与资源所有权

prepare_text_evidence 返回具名的 PDFTextEvidence,apply_text_evidence 统一完成链接、样式、脚本与 InlineSpan 物化。MinerU 仍决定调用时机、公式排除区域、超大字符页和 OCR 回退。

prepare_table_page 仅在存在候选表格时调用;同页复用其物化数据。recover_table_region 返回最终 HTML、来源、置信度和诊断,None 表示没有可接受结果。结构恢复异常以 PDFTableRecoveryError 保留原始原因,交给宿主回退;HTML 物化异常继续传播,避免改变旧异常边界。页面几何可以复用,证据不持有 PDFium 裸句柄。

通用 convert_bbox 显式声明 unit、pixel 或 point;page_size 使用 point,render_scale 是每 point 的像素数。模型 bbox 的自动解释与三位小数规则保留在 MinerU。共享 PDFium 锁、进程池和资源关闭职责仍归 DocVortex。

升级与回退

本轮直接删除被替代的旧门面及重导出,不提供过渡版本或旧 pickle 路径兼容。JSON、Bundle、HTTP API 和输出格式保持既有契约。

配套升级两个 wheel;旧版 MinerU 必须显式约束 docvortex<0.4.0。旧版依赖上限 <1 无法阻止解析器选择 0.4,因此不要只升级 DocVortex。回退时同时恢复旧版 MinerU 与其兼容的 DocVortex。

验证

tools/validate_docvortex_boundary.py 可对指定两仓库源码或当前安装包捕获真实 PDF 的中间协议与全部渲染。记录实际导入路径、样本 SHA256 和页数;比较时只允许忽略 DocVortex producer 版本、DOCX/EPUB 容器时间字段,以及经独立复算确认由 producer 版本派生的 EPUB 标识。

迁移期间用于验证未发布 DocVortex 产物的手动联调工作流已移除。MinerU CI 按 pyproject.toml 的版本约束安装 PyPI wheel,并在常规测试中验证导入边界、共享协议、路由及固定推理结果。DocVortex 的构建、产物校验、独立安装与基础算法回归由其自身 CI 负责。