From 194b679633e8f363ae38c88a6d60b61c74095c31 Mon Sep 17 00:00:00 2001 From: chenjw28 <792430652@qq.com> Date: Tue, 16 Jun 2026 10:28:49 +0800 Subject: [PATCH] x --- docker/docker-compose.yml | 23 +++++++++++++++++++---- docker/scripts/mineru_webui.py | 9 +++++++-- 2 files changed, 26 insertions(+), 6 deletions(-) diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index 0ff32fa..2f89806 100644 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -6,7 +6,7 @@ # ============================================================================= services: - # --- WebUI 前端(纯前端,通过 nginx 分发到 worker)--- + # --- WebUI 前端 --- gradio: image: mineru-rocm:7.2.1 profiles: ["gradio"] @@ -16,15 +16,30 @@ services: ipc: host ports: - "10002:7860" + devices: + - /dev/kfd + - /dev/dri + security_opt: + - seccomp=unconfined + group_add: + - video environment: - GRADIO_SERVER_NAME=0.0.0.0 - - GRADIO_TEMP_DIR=/tmp/gradio - - MINERU_API_BASE=http://mineru-nginx:8000 + - PYTHONPATH=/opt/vllm:${PYTHONPATH:-} + - MINERU_MODEL_SOURCE=${MINERU_MODEL_SOURCE:-huggingface} + - HF_HUB_CACHE=${HF_HUB_CACHE:-/opt/models/huggingface} + - MODELSCOPE_CACHE=${MODELSCOPE_CACHE:-/opt/models/modelscope} volumes: + - ${INPUT_DIR:-./data/input}:/data/input:ro + - ${OUTPUT_DIR:-./data/output}:/data/output + - ${MODEL_DIR:-./data/models}:/opt/models + - ${MIOPEN_CACHE:-./data/miopen}:/root/.cache/miopen - ./scripts:/opt/scripts:ro command: [ - "/opt/mineru_venv/bin/python", "/opt/scripts/mineru_webui.py", + "mineru-gradio", + "--server-name", "0.0.0.0", + "--server-port", "7860", ] depends_on: - nginx diff --git a/docker/scripts/mineru_webui.py b/docker/scripts/mineru_webui.py index 934d8c7..908effd 100644 --- a/docker/scripts/mineru_webui.py +++ b/docker/scripts/mineru_webui.py @@ -207,7 +207,7 @@ def create_ui(): with gr.Row(): with gr.Column(scale=1): - file_input = gr.File( + file_input = gr.UploadButton( label="Upload PDF", file_types=[".pdf"], type="binary", @@ -242,11 +242,16 @@ def create_ui(): elem_classes=["result-panel"], ) - submit_btn.click( + file_input.upload( fn=process_pdf, inputs=[file_input, backend_dd, lang_dd], outputs=[result_display, status_display, zip_display], ) + submit_btn.click( + fn=lambda f,b,l: "Please use the Upload button above.", + inputs=[file_input, backend_dd, lang_dd], + outputs=[result_display, status_display, zip_display], + ) return demo