# 知识库构建流 **Repository Path**: zhgn2020814/knowledge-base-construction ## Basic Information - **Project Name**: 知识库构建流 - **Description**: pdf转md文件,md文件中图像上传图床 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2024-08-16 - **Last Updated**: 2025-11-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # PDF/Word 文档转 Markdown 服务 这是一个基于 Flask 的 Web 服务,可以将 PDF 和 Word 文档转换为 Markdown 格式。该服务支持文档中的图片提取和存储,使用 MinIO 作为对象存储服务。 ## 项目结构 ``` . ├── app.py # Flask 主应用文件 ├── pipeline.py # 文档处理核心逻辑(包含 MinIO 存储功能) ├── templates/ # Web 前端模板 ├── output/ # 转换后的文件输出目录 ├── models/ # 模型文件目录 ├── minio/ # MinIO 相关配置 ├── tests/ # 测试和工具脚本目录 ├── Dockerfile # Docker 构建文件 └── requirements.txt # 项目依赖 ``` ## 功能特点 - 支持 PDF 和 Word 文档转换 - 自动提取文档中的图片 - 使用 MinIO 存储图片资源 - 异步处理大文件 - 实时进度反馈 - 支持中文文件名 ## 环境要求 - Python 3.10+ - CUDA 11.8 (用于 GPU 加速,可选) - MinIO 服务器 ## 安装步骤 1. 创建并激活 Conda 环境: ```bash conda create -n MinerU python=3.10 conda activate MinerU ``` 2. 安装依赖包: ```bash # 安装 magic-pdf pip install magic-pdf[full]==0.7.0b1 --extra-index-url https://wheels.myhloli.com # 安装 PyTorch (GPU 版本,如果不需要 GPU 可以安装 CPU 版本) pip install --force-reinstall torch==2.3.1 torchvision==0.18.1 --index-url https://download.pytorch.org/whl/cu118 # 安装 PaddlePaddle (GPU 版本,如果不需要 GPU 可以安装 CPU 版本) pip install paddlepaddle-gpu==2.6.1 # 安装其他依赖 pip install -r requirements.txt ``` 3. 配置 magic-pdf: 将 `magic-pdf.json` 配置文件拷贝到用户目录: - Windows: `C:\Users\用户名` - Linux: `/home/用户名` - macOS: `/Users/用户名` 4. 下载模型文件: ```bash python -c "from modelscope import snapshot_download; model_dir = snapshot_download('wanderkid/PDF-Extract-Kit'); print(f'模型文件下载路径为:{model_dir}/models')" ``` ## 本地运行 1. 配置 MinIO 连接信息: 在 `app.py` 中修改以下配置: ```python MINIO_ENDPOINT = "your-minio-endpoint" MINIO_ACCESS_KEY = "your-access-key" MINIO_SECRET_KEY = "your-secret-key" BUCKET_NAME = "your-bucket-name" ``` 2. 启动服务: ```bash python app.py ``` 服务将在 http://localhost:1060 运行 ## Docker 部署 1. 构建 Docker 镜像: ```bash docker build -t flask-pdf-to-md . ``` 2. 运行容器: ```bash docker run -d -p 1060:1060 flask-pdf-to-md ``` ## API 接口 ### 文件转换 - `POST /convert` - 功能:转换 PDF 文件 - 参数:file (PDF文件) - 返回:task_id (任务ID) - `POST /convert_word` - 功能:转换 Word 文件 - 参数:file (Word文件) - 返回:task_id (任务ID) ### 任务管理 - `GET /progress/` - 功能:查询转换进度 - 返回:进度信息 (status, progress, message) - `GET /download/` - 功能:下载转换后的 Markdown 文件 - 返回:Markdown 文件 ## 注意事项 - 确保 MinIO 服务器已正确配置并可访问 - 大文件转换可能需要较长时间,请耐心等待 - 转换后的文件会保存在 output 目录中 - 所有图片资源会被自动上传到 MinIO 存储 - 支持中文文件名,但建议避免特殊字符 - 如果使用 GPU 加速,请确保 CUDA 环境配置正确