docker部署MinerU web api

MinerU能够将包含图片、公式、表格等元素的多模态PDF、PPT、DOCX等文档转化为易于分析的Markdown格式。

1 克隆MinerU的仓库

shell 复制代码
git clone https://github.com/opendatalab/MinerU.git

2 cd到projects/web-api

shell 复制代码
cd projects/web-api

3 在可以科学上网的情况下可以直接运行

shell 复制代码
docker build -t mineru-api .

4 如果不能科学上网,使用modelscope

修改requirement.txt,添加modelscope==1.25.0 ![[Pasted image 20250429165051.png]] 修改download_models.py,删掉所有旧代码,改成这个

python 复制代码
#!/usr/bin/env python
import os
from modelscope.hub.snapshot_download import snapshot_download

# 配置模型下载路径(Windows路径示例:r'C:\MinerU')
MAIN_MODEL_DIR = "/opt/"
os.makedirs(MAIN_MODEL_DIR, exist_ok=True)

if __name__ == "__main__":
    # PDF-Extract-Kit的模型下载(需替换为ModelScope对应ID)
    pdf_extract_patterns = [
        "models/Layout/YOLO/**",
        "models/MFD/YOLO/**",
        "models/MFR/unimernet_hf_small_2503/**",
        "models/OCR/paddleocr_torch/**",
    ]
    pdf_model_path = snapshot_download(
        'opendatalab/PDF-Extract-Kit-1.0',  # ModelScope模型ID
        allow_patterns=pdf_extract_patterns,
        cache_dir=os.path.join(MAIN_MODEL_DIR, "models"),
        revision='master'  # 指定模型版本
    )

    # LayoutReader模型下载(需替换为ModelScope对应模型)
    layout_model_path = snapshot_download(
        'ppaanngggg/layoutreader',  # 替换为实际ModelScope ID
        cache_dir=os.path.join(MAIN_MODEL_DIR, "layoutreader"),
        allow_patterns=["*.json", "*.safetensors"]
    )

    print(f"主模型目录:{pdf_model_path}")
    print(f"布局模型目录:{layout_model_path}")

再运行docker build -t mineru-api .

5 编写docker-compose.yml

yml 复制代码
services:
  mineru-api:
    image: mineru-api
    ports:
      - "8000:8000"
    stdin_open: true   # 对应 -i 参数
    tty: true          # 对应 -t 参数
    runtime: nvidia    # 使用 NVIDIA 容器运行时
    environment:
      - NVIDIA_VISIBLE_DEVICES=all  # 允许访问所有 GPU

6 如果没有nvidia的runtime,先备份自己的daemon.json文件(/etc/docker/),通过yum install -y nvidia-docker2安装,这个命令会生成一个新的daemon.json文件,覆盖掉原来旧的,安装后之后比较一下新旧两个daemon文件,合并在一起。

7 启动

shell 复制代码
systemctl daemon-reload
systemctl restart docker
docker compose up -d

8 访问localhost:8000/docs

相关推荐
程序猿炎义14 分钟前
【NVIDIA AIQ】自定义函数实践
人工智能·python·学习
小陈phd27 分钟前
高级RAG策略学习(四)——上下文窗口增强检索RAG
人工智能·学习·langchain
居然JuRan40 分钟前
阿里云多模态大模型岗三面面经
人工智能
THMAIL42 分钟前
深度学习从入门到精通 - BERT与预训练模型:NLP领域的核弹级技术详解
人工智能·python·深度学习·自然语言处理·性能优化·bert
nju_spy43 分钟前
Kaggle - LLM Science Exam 大模型做科学选择题
人工智能·机器学习·大模型·rag·南京大学·gpu分布计算·wikipedia 维基百科
中國龍在廣州1 小时前
GPT-5冷酷操盘,游戏狼人杀一战封神!七大LLM狂飙演技,人类玩家看完沉默
人工智能·gpt·深度学习·机器学习·计算机视觉·机器人
东哥说-MES|从入门到精通1 小时前
Mazak MTF 2025制造未来参观总结
大数据·网络·人工智能·制造·智能制造·数字化
CodeCraft Studio1 小时前
Aspose.Words for .NET 25.7:支持自建大语言模型(LLM),实现更安全灵活的AI文档处理功能
人工智能·ai·语言模型·llm·.net·智能文档处理·aspose.word
山烛1 小时前
深度学习:CNN 模型训练中的学习率调整(基于 PyTorch)
人工智能·pytorch·python·深度学习·cnn·调整学习率
THMAIL2 小时前
深度学习从入门到精通 - 神经网络核心原理:从生物神经元到数学模型蜕变
人工智能·python·深度学习·神经网络·算法·机器学习·逻辑回归