跳到主要内容

高级文档转换

1. 介绍

文档库默认的文件内容提取功能存在局限性,无法提取图片以及复杂的文档排版,导致RAG时AI无法正常回复知识库中的图片。

MinerU是一款将PDF转化为机器可读格式的工具(如Markdown),本文将简单介绍如何在jeecgboot使用MinerU实现文档的转换。

2. 软硬件环境要求:

软件需求

  • Anaconda version >= 22
  • Python version >= 3.10

硬件需求:

操作系统
Linux after 2019Windows 10 / 11macOS 11+
CPUx86_64 / arm64x86_64(暂不支持ARM Windows)x86_64 / arm64
内存大于等于16GB,推荐32G以上
存储空间大于等于20GB,推荐使用SSD以获得最佳性能
python版本3.10 (请务必通过conda创建3.10虚拟环境)
Nvidia Driver 版本latest(专有驱动)latestNone
CUDA环境自动安装[12.1(pytorch)+11.8(paddle)]11.8(手动安装)+cuDNN v8.7.0(手动安装)None
CANN环境(NPU支持)8.0+(Ascend 910b)NoneNone
GPU硬件支持列表显存8G以上2080-2080Ti / 3060Ti-3090Ti / 4060-4090
8G显存及以上可开启全部加速功能
None

windows系统安装CUDA环境可参考:windows系统安装CUDA

3. 快速安装MinerU

1、使用conda创建python环境,并安装magic-pdf

conda create -n mineru python=3.10
conda activate mineru
pip install -U "magic-pdf[full]" --extra-index-url https://wheels.myhloli.com -i https://mirrors.aliyun.com/pypi/simple

2、下载模型权重文件 使用python脚本 从ModelScope下载模型文件

pip install modelscope
wget https://gcore.jsdelivr.net/gh/opendatalab/MinerU@master/scripts/download_models.py -O download_models.py
python download_models.py

3、 修改配置文件以进行额外配置 python脚本会自动下载模型文件并配置好配置文件中的模型目录

配置文件可以在用户目录中找到,文件名为magic-pdf.json

windows的用户目录为 "C:\Users\用户名"
linux用户目录为 "/home/用户名"
macOS用户目录为 "/Users/用户名"

您可修改该文件中的部分配置实现功能的开关,如表格识别功能:

{
// other config
"layout-config": {
"model": "doclayout_yolo" // 使用layoutlmv3请修改为“layoutlmv3"
},
"formula-config": {
"mfd_model": "yolo_v8_mfd",
"mfr_model": "unimernet_small",
"enable": true // 公式识别功能默认是开启的,如果需要关闭请修改此处的值为"false"
},
"table-config": {
"model": "rapid_table", // 默认使用"rapid_table",可以切换为"tablemaster"和"struct_eqtable"
"sub_model": "slanet_plus", // 当model为"rapid_table"时,可以自选sub_model,可选项为"slanet_plus"和"unitable"
"enable": true, // 表格识别功能默认是开启的,如果需要关闭请修改此处的值为"false"
"max_time": 400
}
}

gpu加速等高级功能配置请参考官方文档

4、安装 LibreOffice

MinerU默认不支持转换office文件,为了确保他能支持office文件,需要安装第三方库LibreOffice

linux

apt-get/yum/brew install libreoffice

windows

install libreoffice
append "install_dir\LibreOffice\program" to ENVIRONMENT PATH

4. 在JeecgBoot中使用MinerU

1、修改配置文件

jeecg:
ai-rag:
know:
# 是否开启mineru
enable-miner-u: true
# conda的环境,在3.1中创建的
conda-env: "mineru"

2、在文档库中上传一个pdf。

pdf预览:

上传该文档:

稍等片刻,向量化完成

在命中测试中可以看到,pdf已经转换成md并且图片也正常展示了