Spaces:
Paused
Paused
| FROM ubuntu:22.04 | |
| ENV MODEL_NAME="llava-1.6-mistral-7b-gguf" | |
| ENV DEFAULT_MODEL_FILE="llava-v1.6-mistral-7b.Q3_K_XS.gguf" | |
| ENV MODEL_USER="cjpais" | |
| ENV DEFAULT_MODEL_BRANCH="main" | |
| ENV DEFAULT_CLIP_MODEL_FILE="mmproj-model-f16.gguf" | |
| ENV MODEL_URL="https://huggingface.co/${MODEL_USER}/${MODEL_NAME}/resolve/${DEFAULT_MODEL_BRANCH}/${DEFAULT_MODEL_FILE}" | |
| ENV CLIP_MODEL_URL="https://huggingface.co/${MODEL_USER}/${MODEL_NAME}/resolve/${DEFAULT_MODEL_BRANCH}/${DEFAULT_CLIP_MODEL_FILE}" | |
| ENV DEBIAN_FRONTEND=noninteractive | |
| RUN apt update && \ | |
| apt install --no-install-recommends -y build-essential python3 python3-pip wget curl git && \ | |
| apt clean && rm -rf /var/lib/apt/lists/* | |
| WORKDIR /app | |
| COPY requirements.txt ./ | |
| RUN python3 -m pip install --upgrade pip && \ | |
| pip install -r requirements.txt | |
| # Downloading the models | |
| RUN echo ${MODEL_URL} && \ | |
| wget -O /app/${DEFAULT_MODEL_FILE} ${MODEL_URL} && \ | |
| echo ${CLIP_MODEL_URL} && \ | |
| wget -O /app/${DEFAULT_CLIP_MODEL_FILE} ${CLIP_MODEL_URL} | |
| # Creating a non-root user | |
| RUN useradd -m -u 1000 user && \ | |
| mkdir -p /home/user/app && \ | |
| mv /app/${DEFAULT_MODEL_FILE} /home/user/app && \ | |
| mv /app/${DEFAULT_CLIP_MODEL_FILE} /home/user/app && \ | |
| chown -R user:user /home/user/app | |
| USER user | |
| ENV HOME=/home/user \ | |
| PATH=/home/user/.local/bin:$PATH | |
| WORKDIR $HOME/app | |
| # Copying the rest of your application | |
| COPY --chown=user . . | |
| RUN ls -al | |
| EXPOSE 8000 | |
| CMD ["python3", "-m", "llama_cpp.server", "--model", "/home/user/app/llava-v1.6-mistral-7b.Q3_K_XS.gguf", "--clip_model_path", "/home/user/app/mmproj-model-f16.gguf", "--chat_format", "llava-1-5"] | |