本篇文章,将介绍一款开源工具Magic-PDF,从架构图上看,包含的内容很多公式、图表、段落合并、顺序布局等都有涉及,整体感觉效果应该还可以。下面具体介绍它,先介绍基本情况,再给出体验地址,最后介绍代码访问:
Magic-PDF基本介绍
Magic-PDF 是一个专门用于将 PDF 文档转化为 Markdown 格式的工具。它支持转换本地文档或者位于支持 S3 协议对象存储上的文件。以下是 Magic-PDF 的一些主要功能:
多种输入支持:支持多种前端模型输入。格式处理:能够删除页眉、页脚、脚注、页码等元素。,保持语义连贯保留文档结构:对多栏输出符合人类阅读顺序的文本。符合人类阅读顺序的排版格式,保留原文档的结构和格式,包括标题、段落、列表等。图像和表格提取:提取图像和表格并在 Markdown 中展示。公式转换:将公式转换成 LaTeX 格式。乱码识别:自动识别并转换乱码 PDF。硬件支持:支持 CPU 和 GPU 环境。跨平台兼容:支持 Windows、Linux、Mac 平台。架构图:
流程图:
在线体验地址
https://opendatalab.com/OpenSourceTools/Extractor/PDF
老规矩,跑起来:
环境配置
安装magic-pdf
pip install magic-pdf[full]==0.6.2b1 detectron2 --extra-index-url https://wheels.myhloli.com -i https://pypi.tuna.tsinghua.edu.cn/simplepip install torch==2.3.1 torchvision==0.18.1
模型下载
整个工程涉及的模型,主要是布局、公式、表格识别:
# 模型地址https://huggingface.co/wanderkid/PDF-Extract-Kit# 工程地址# https://hub.yzuu.cf/opendatalab/PDF-Extract-Kit
配置文件
生成名为magic-pdf.json的配置文件,内容如下,将上述下载文件的存放地址配置在models-dir中:
{ "bucket_info":{ "bucket-name-1":["ak", "sk", "endpoint"], "bucket-name-2":["ak", "sk", "endpoint"] }, "models-dir":"/tmp/models", "device-mode":"cpu", "table-config": { "is_table_recog_enable": false, "max_time": 400 }}
访问代码
本地访问代码如下:
from magic_pdf.pipe.UNIPipe import UNIPipefrom magic_pdf.rw.DiskReaderWriter import DiskReaderWriterimage_writer = DiskReaderWriter(local_image_dir)image_dir = str(os.path.basename(local_image_dir))jso_useful_key = {"_pdf_type": "", "model_list": model_json}pipe = UNIPipe(pdf_bytes, jso_useful_key, image_writer)pipe.pipe_classify()pipe.pipe_parse()md_content = pipe.pipe_mk_markdown(image_dir, drop_mode="none")
项目完整地址:
https://github.com/opendatalab/MinerU/blob/master/README_zh-CN_v2.md
通过这个工具,我们就能将PDF转markdown啦,支持表格、公式,效果还可以。
如果对内容有什么疑问和建议可以私信和留言,也可以添加我加入大模型交流群,一起讨论大模型在创作、RAG和agent中的应用。
好了,这就是我今天想分享的内容。如果你对大模型应用感兴趣,别忘了点赞、关注噢~
版权声明:本文转载于今日头条,版权归作者所有,如果侵权,请联系本站编辑删除