Marker 是什么
Marker 是把 PDF 转成 Markdown 的开源工具,核心是一组版面分析模型:先识别区块类型(标题、段落、表格、图片、公式),再按阅读顺序重排并输出 Markdown 或 JSON。相比按文本流直接抽取,它能处理双栏排版、表格结构与公式,产出的文本天然带标题层级,正好适合作为 RAG 的切分输入。代价是首次运行要下载模型权重,纯 CPU 环境批量转换耗时较长。
基本信息
| 安装包 | pip install marker-pdf |
|---|---|
| 运行方式 | 命令行 marker_single(单文件)与 marker(目录批量) |
| 输出格式 | Markdown、JSON,可选保存图片 |
| 硬件 | GPU 显著更快,CPU 可跑但批量耗时长 |
| 主要依赖 | 版面与公式识别模型权重,首次运行自动下载 |
典型使用场景
- 论文与技术手册入库:需要保留公式与表格结构的语料
- 扫描件转文本:先 OCR 再做版面分析,得到可切分的 Markdown
- 批量预处理:把整个文档目录转成 Markdown 后统一进入切分流水线
- 结构核对:输出 JSON 里带区块类型与页码,便于抽查解析是否正确
- 与轻量方案对照:纯文本 PDF 用直接抽取更省资源,复杂版面才上模型
安装与转换
安装与转换
pip install marker-pdf
marker_single input.pdf --output_dir ./out # 单个文件,输出 Markdown
marker ./docs_folder --output_dir ./out # 批量转换整个目录
# 参数随版本演进,批量任务前先用两份真实文档确认输出结构解析产物与用途
| 产物 | 内容 | 入库处理 |
|---|---|---|
| Markdown | 带标题层级的正文 | 直接作为切分输入 |
| JSON | 区块类型、坐标、页码 | 用于抽检与元数据补全 |
| 图片文件 | 页面插图与公式截图 | 决定引用方式:链接或转文本 |
| 公式 | LaTeX 或图片 | 按下游是否需要检索公式决定保留形式 |
转换质量要用抽样人工比对来评估:挑几份最有代表性的文档,逐页核对标题层级、表格行列与阅读顺序,而不是只看单页示例就上批量任务。