AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


Magic-PDF:端到端PDF文档解析神器 构建高质量RAG必备!
发布日期:2024-09-11 15:55:50 浏览次数: 1587


项目结构

流程解析

预处理的作用是判断文档内容是否需要进行OCR识别,如果是普通可编辑的PDF文档,则使用PyMuPDF库提取元信息。

模型层除了常规的OCR、版面结构分析外,还有公式检测模型,可提取公式内容,用于后续把公式转化为Latex格式。但是目前暂无表格内容识别,官方预计1个月之内会放出。

管线层主要是把上面模型的结果进行加工处理。比如把公式转化为Latex格式、图表保存起来成为图片、把文本框进行排序和合并以及过滤掉无用的信息(页眉、页脚等)。

输出层其实就是结果文件夹中的内容。结果文件夹中有layout.pdf、span.pdf、xx_middle.json、xx_model.json、xx_content_list.json、xx.md、images文件夹。

  • • layout.pdf 可以看到 版面结构的识别结果

  • • span.pdf 可以看到具体每个文本框的内容

  • • xx_middle.json 是用OCR或者PDF库解析出的文档元信息,包含文本块类型、内容和坐标。

  • • xx_model.json 是版面分析结果的内容,包含文本块的类型、坐标和置信度。

  • • xx_content_list.json 中是文档的类型和具体内容,图表则用img_path指定存放的图片的路径。

实践指南

创建一个python环境,建议python3.10以上

conda create -n MinerU python=3.10
conda activate MinerU

接着安装magic-pdfdetectron2这个包

pip install magic-pdf[full-cpu]
pip install detectron2 --extra-index-url https://myhloli.github.io/wheels/
magic-pdf --version

注意查看版本是否在0.6.x以上,否则会有问题。英特尔芯片的Mac电脑由于某些库的依赖原因,只能到0.5.x的版本。对于M系列的芯片,经过实测发现不支持mps加速,还是只能使用CPU。

接着下载模型权重:https://huggingface.co/wanderkid/PDF-Extract-Kit

接着把该仓库中的magic-pdf.template.json文件拷贝到本地,修改models-dir为下载到本地的模型路径。

{
  "models-dir""/tmp/models"
}

需要注意的是这个路径是绝对路径

总结

优点

  • • 比较准确。从上面的图可以看出,无论是可编辑的PDF还是扫描版的PDF,都能非常好的区分出版面中不同类型的部分,而且最终的结果是以Markdown的格式保存的,可以很容易把不同章节、不同自然段按需进行切分。

缺点

  • • 硬件支持不够完善,目前存在很多不兼容的情况。M系列芯片暂时无法解决Bug,GPU未测过是否存在其他问题。而用CPU实在是太慢了,10几页的PDF就需要处理约5分钟。

  • • 版面结构进行排序和组合貌似用的全是自定义的规则函数,不太方便开发者进行复用或者微调。

  • • 表格内容暂时无法识别。目前只能把表格部分提取为图片保存起来。



53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询