FROM nvidia/cuda:11.8.0-cudnn8-devel-ubuntu22.04 # Set environment variables ENV DEBIAN_FRONTEND=noninteractive ENV PYTHONUNBUFFERED=1 ENV HF_HOME=/root/.cache/huggingface ENV TRANSFORMERS_CACHE=/root/.cache/huggingface/transformers ENV MPLCONFIGDIR=/tmp/matplotlib # Create necessary directories with proper permissions RUN mkdir -p /root/.cache/huggingface/transformers && \ mkdir -p /tmp/matplotlib && \ chmod -R 777 /root/.cache && \ chmod -R 777 /tmp/matplotlib # Install system dependencies RUN apt-get update && apt-get install -y --no-install-recommends \ build-essential \ git \ curl \ ca-certificates \ python3-pip \ python3-dev \ python3-setuptools \ && rm -rf /var/lib/apt/lists/* # Create a working directory WORKDIR /app # Copy requirements file COPY requirements.txt . # Upgrade pip and install dependencies in specific order to avoid conflicts RUN pip3 install --no-cache-dir --upgrade pip && \ # Install torch and torchvision first pip3 install --no-cache-dir torch==2.0.1 torchvision==0.15.2 && \ # Install core dependencies pip3 install --no-cache-dir numpy==1.24.3 scipy==1.11.3 requests==2.31.0 && \ # Install huggingface dependencies pip3 install --no-cache-dir transformers==4.37.2 safetensors==0.4.1 huggingface_hub==0.19.4 && \ # Install lmdeploy and its dependencies first pip3 install --no-cache-dir "accelerate==0.30.0" && \ pip3 install --no-cache-dir "lmdeploy==0.5.3" && \ # Install other acceleration libraries pip3 install --no-cache-dir bitsandbytes==0.41.3 && \ # Install gradio pip3 install --no-cache-dir gradio==3.38.0 && \ # Install any remaining requirements pip3 install --no-cache-dir packaging==23.2 pyyaml==6.0.1 tqdm==4.66.1 typing-extensions==4.8.0 openai==1.6.1 # Copy the application files COPY . . # Make port 7860 available for the app EXPOSE 7860 # Start the application CMD ["python3", "app_internvl2.py"]