zhch158: @workspace 根据demo/demo.py, 生成流水线执行markdown mermaid流程图,图中需要注明调用的模型以及传递的数据
Workspace: 正在收集工作区信息根据 demo.py 文件,我为您生成了 MinerU 的流水线执行流程图:
flowchart TD
A[开始] --> B[读取PDF文件]
B --> C{选择后端类型}
C -->|Pipeline后端| D[PDF页面范围处理<br/>convert_pdf_bytes_to_bytes_by_pypdfium2]
C -->|VLM后端| N[PDF页面范围处理<br/>convert_pdf_bytes_to_bytes_by_pypdfium2]
D --> E[PDF文档分析<br/>pipeline_doc_analyze]
E --> F[获取推理结果、图像列表、PDF文档、语言列表、OCR开关列表]
F --> G[遍历每个PDF文档]
G --> H[创建输出目录<br/>prepare_env]
H --> I[创建文件写入器<br/>FileBasedDataWriter]
I --> J[转换为中间JSON<br/>pipeline_result_to_middle_json]
J --> K{输出选项}
K -->|f_draw_layout_bbox=True| L[绘制布局边界框<br/>draw_layout_bbox]
K -->|f_draw_span_bbox=True| M[绘制文本跨度边界框<br/>draw_span_bbox]
K -->|f_dump_orig_pdf=True| O[保存原始PDF文件]
K -->|f_dump_md=True| P[生成Markdown内容<br/>pipeline_union_make]
K -->|f_dump_content_list=True| Q[生成内容列表JSON<br/>MakeMode.CONTENT_LIST]
K -->|f_dump_middle_json=True| R[保存中间JSON文件]
K -->|f_dump_model_output=True| S[保存模型输出JSON文件]
N --> T[VLM文档分析<br/>vlm_doc_analyze]
T --> U[获取中间JSON和推理结果]
U --> V[创建输出目录和文件写入器]
V --> W{VLM输出选项}
W -->|f_draw_layout_bbox=True| X[绘制布局边界框]
W -->|f_dump_orig_pdf=True| Y[保存原始PDF文件]
W -->|f_dump_md=True| Z[生成Markdown内容<br/>vlm_union_make]
W -->|f_dump_content_list=True| AA[生成内容列表JSON]
W -->|f_dump_middle_json=True| BB[保存中间JSON文件]
W -->|f_dump_model_output=True| CC[保存模型输出TXT文件]
L --> DD[输出完成]
M --> DD
O --> DD
P --> DD
Q --> DD
R --> DD
S --> DD
X --> DD
Y --> DD
Z --> DD
AA --> DD
BB --> DD
CC --> DD
style A fill:#e8f5e8
style B fill:#e8f5e8
style E fill:#bbdefb
style T fill:#bbdefb
style J fill:#fff3e0
style P fill:#f3e5f5
style Z fill:#f3e5f5
style DD fill:#c8e6c9
classDef process fill:#e3f2fd,stroke:#333,stroke-width:2px
classDef model fill:#fff3e0,stroke:#ff9800,stroke-width:2px
classDef output fill:#f3e5f5,stroke:#9c27b0,stroke-width:2px
classDef decision fill:#fff8e1,stroke:#ffc107,stroke-width:2px
class D,H,I,V decision
class E,T,J model
class L,M,O,P,Q,R,S,X,Y,Z,AA,BB,CC output
这个流程图展示了 MinerU 的主要执行流程:
输入处理:
Pipeline 后端流程:
pipeline_doc_analyze 进行文档分析pipeline_result_to_middle_json 转换结果pipeline_union_make 生成最终内容VLM 后端流程:
vlm_doc_analyze 进行分析vlm_union_make 生成内容输出文件类型:
.md)_middle.json)_model.json 或 _model_output.txt)_content_list.json)_layout.pdf, _span.pdf)_origin.pdf)流程图中的颜色编码: