File size: 1,574 Bytes
5d5ad51
3e50743
9a57e00
 
 
be1949d
e5bf1d7
be1949d
e5bf1d7
7131f6c
78b627f
 
6cba908
be1949d
 
998196e
636bd97
 
be1949d
6db6156
694d9c3
396d41c
be1949d
694d9c3
be1949d
694d9c3
 
8235514
be1949d
694d9c3
a962f8e
 
 
 
79d7c2e
a962f8e
 
 
6db6156
a962f8e
6db6156
694d9c3
a962f8e
be1949d
 
 
d1e4e0d
6db6156
f176765
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
FROM python:3.10

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 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", "llava-v1.6-mistral-7b.Q3_K_XS.gguf", "--clip_model_path", "mmproj-model-f16.gguf", "--chat_format", "llava-1-5"]