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", "--config_file", "config.json"] | |