docker部署mineru

首先在linux系统某个路径下先把项目拉取下来

git clone https://github.com/opendatalab/MinerU.git

定位到web_api

cd MinerU/projects/web_api

修改download_models.py,主要是用魔塔替换huggingface,并在layoutreader_pattern中添加
更多后缀,因为后续测试发现如果不修改.bin文件没下载成功。当然这里也可以参考另一篇博客:
https://blog.csdn.net/m0_45070559/article/details/147308581?spm=1001.2014.3001.5502

魔塔的布局文件

#!/usr/bin/env python
from modelscope import snapshot_download

if __name__ == "__main__":

    mineru_patterns = [
        # "models/Layout/LayoutLMv3/*",
        "models/Layout/YOLO/*",
        "models/MFD/YOLO/*",
        "models/MFR/unimernet_hf_small_2503/*",
        "models/OCR/paddleocr_torch/*",
        # "models/TabRec/TableMaster/*",
        # "models/TabRec/StructEqTable/*",
    ]
    model_dir = snapshot_download(
        "opendatalab/PDF-Extract-Kit-1.0",
        allow_patterns=mineru_patterns,
        local_dir="/opt/",
    )

    layoutreader_pattern = [
        "*.json",
        "*.safetensors",
        "*.bin",
        "*.safetensors",
        "*.h5",
        "*.index",
        "*.msgpack",
    ]
    layoutreader_model_dir = snapshot_download(
        "ppaanngggg/layoutreader",
        allow_patterns=layoutreader_pattern,
        local_dir="/opt/layoutreader/",
    )

    model_dir = model_dir + "/models"
    print(f"model_dir is: {model_dir}")
    print(f"layoutreader_model_dir is: {layoutreader_model_dir}")


在requirements.txt添加modelscope
Dockerfile中添加pip镜像源

COPY requirements.txt .
RUN python -m venv /app/venv && \
    . /app/venv/bin/activate && \
    pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple && \
    pip install -r requirements.txt

Dockerfile中改变download_models.py的运行方式,解决权限问题

# Download models
COPY download_models.py .
RUN . /app/venv/bin/activate && \
    python ./download_models.py

运行配置命令

docker build -t mineru-api .

docker部署完成后运行命令

docker run -d -it --gpus=all -p 8000:8000 mineru-api

浏览器输入服务器ip:8000/docs,显示如下即为成功:

dify配置mineru

在这里插入图片描述
添加mineru,选择本地部署输入服务器ip:8000即可

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐