大模型RAG应用开发之PDF解析工具对比

RAG

一 汇总

类型名称地址OCR提取表格内容保留文本顺序提取图片保存成md格式其他特性
传统PDF解析库pymupdfhttps://github.com/pymupdf/PyMuPDF✔️✔️✔️● 表格提取<br>● 自定义字体
传统PDF解析库pdfminerhttps://github.com/pdfminer/pdfminer.six✔️● 版面分析
传统PDF解析库pdfplumberhttps://github.com/jsvine/pdfplumber✔️● 表格提取,但存在丢失列的问题
传统PDF解析库pypdf2https://github.com/py-pdf/pypdf✔️● pdf合并与拆分<br>● 添加水印
基于模型的PDF解析一体库llama-parsehttps://github.com/run-llama/llama_parse✔️✔️✔️✔️✔️● 付费API每天有免费额度
基于模型的PDF解析一体库open-parsehttps://github.com/Filimoa/open-parse✔️✔️✔️✔️● 文本支持保存markdown和html格式<br>●内置表格模型,可自由选择<br>●表格带markdown格式
基于模型的PDF解析一体库deepdochttps://github.com/infiniflow/ragflow/tree/main/deepdoc✔️✔️✔️✔️● 支持版面分析<br>●表格带html格式
基于模型的PDF解析一体库MinerUhttps://github.com/opendatalab/MinerU/tree/master✔️✔️✔️✔️✔️● 文本带markdown格式<br>● 解析保留中间过程,可用于二次调优<br>● 表格提取非常慢,目前效果一般

二 总结

  • 非扫描件无OCR要求直接使用pymupdf(fitz)即可,能正确保留双列布局的文本顺序,同时能提取表格和图片,而且表格是以List的格式保留。
  • 其余几个传统的PDF解析库倾向于对pdf进行编辑,比如添加水印,增加或者删除页面等。
  • llama-parse 中文文档效果不好,而且还是通过API使用,但是每天有固定的免费额度,可以用于处理扫描件。
  • deepdocMinerU是近期开源项目中比较强大的RAG解析工具。deepdoc优势点在于表格效果较好,亲测无边框的表格有大多数效果仍可圈可点,并且保留为html格式,因此允许合并单元格;MinerU优势在于识别的文本带有markdown格式,因此用于RAG切分文档中可以省去不少功夫。

评论

暂无评论

推荐阅读

一文梳理RAG(检索增强生成)的现状与挑战
一文梳理RAG(检索增强生成)的现状与挑战

RAG是指在利用大语言模型回答问题之前,先从外部知识库检索相关信息,然后再让模型根据这些信息进行总结归纳,这样便能确保模型不会胡说八道,并且回答的内容是有所依据的。