OmniMCP

by OpenAdaptAI
Verified
# omnimcp/ominparser/Dockerfile FROM nvidia/cuda:12.3.1-devel-ubuntu22.04 RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y \ git-lfs \ wget \ libgl1 \ libglib2.0-0 \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* \ && git lfs install RUN wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh && \ bash miniconda.sh -b -p /opt/conda && \ rm miniconda.sh ENV PATH="/opt/conda/bin:$PATH" RUN conda create -n omni python=3.12 && \ echo "source activate omni" > ~/.bashrc ENV CONDA_DEFAULT_ENV=omni ENV PATH="/opt/conda/envs/omni/bin:$PATH" WORKDIR /app RUN git clone https://github.com/microsoft/OmniParser.git && \ cd OmniParser && \ git lfs install && \ git lfs pull WORKDIR /app/OmniParser RUN . /opt/conda/etc/profile.d/conda.sh && conda activate omni && \ pip uninstall -y opencv-python opencv-python-headless && \ pip install --no-cache-dir opencv-python-headless==4.8.1.78 && \ pip install -r requirements.txt && \ pip install huggingface_hub fastapi uvicorn # Download V2 weights RUN . /opt/conda/etc/profile.d/conda.sh && conda activate omni && \ mkdir -p /app/OmniParser/weights && \ cd /app/OmniParser && \ rm -rf weights/icon_detect weights/icon_caption weights/icon_caption_florence && \ for folder in icon_caption icon_detect; do \ huggingface-cli download microsoft/OmniParser-v2.0 --local-dir weights --repo-type model --include "$folder/*"; \ done && \ mv weights/icon_caption weights/icon_caption_florence # Pre-download OCR models during build RUN . /opt/conda/etc/profile.d/conda.sh && conda activate omni && \ cd /app/OmniParser && \ python3 -c "import easyocr; reader = easyocr.Reader(['en']); print('Downloaded EasyOCR model')" && \ python3 -c "from paddleocr import PaddleOCR; ocr = PaddleOCR(lang='en', use_angle_cls=False, use_gpu=False, show_log=False); print('Downloaded PaddleOCR model')" CMD ["python3", "/app/OmniParser/omnitool/omniparserserver/omniparserserver.py", \ "--som_model_path", "/app/OmniParser/weights/icon_detect/model.pt", \ "--caption_model_path", "/app/OmniParser/weights/icon_caption_florence", \ "--device", "cuda", \ "--BOX_TRESHOLD", "0.05", \ "--host", "0.0.0.0", \ "--port", "8000"]