File size: 1,242 Bytes
3892750
 
 
a3c6faa
 
3892750
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
064f596
3892750
13dc6a7
2f5f72d
3892750
 
 
 
 
 
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
# Cloned from https://huggingface.co./spaces/limcheekin/bge-small-en-v1.5/tree/main
# Define global args
# ARG MODEL="BAAI/bge-small-en-v1.5"
# ARG MODEL="sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2"
ARG MODEL="nomic-ai/nomic-embed-text-v1.5"

FROM debian:bullseye-slim AS build-image

# Include global args in this stage of the build
ARG MODEL
ENV MODEL=${MODEL}

COPY ./download.sh ./

# Install build dependencies
RUN apt-get update && \
    apt-get install -y git-lfs

RUN chmod +x *.sh && \
    ./download.sh && \
    rm *.sh

# Stage 3 - final runtime image
# Grab a fresh copy of the Python image
FROM python:3.11-slim

# Include global args in this stage of the build
ARG MODEL
ENV MODEL=${MODEL}
ENV NORMALIZE_EMBEDDINGS=1
ENV HF_HOME="/tmp/hf_home"
# Set environment variable for the host
ENV HOST=0.0.0.0
ENV PORT=7860

COPY --from=build-image ${MODEL} ${MODEL}
COPY ./main.py ./
COPY ./start_server.sh ./
COPY ./patch.py ./
# COPY ./index.html ./
RUN pip install -U pip && pip install --no-cache-dir open-text-embeddings[server] langchain_community einops && \
    chmod +x ./*.sh && python patch.py

# Expose a port for the server
EXPOSE ${PORT}

# Run the server start script
CMD ["/bin/sh", "./start_server.sh"]