File size: 1,334 Bytes
e3bbe06
8595613
 
 
b1245ea
17f735e
8595613
 
b1245ea
8595613
 
b1245ea
831c02b
 
8595613
b1245ea
831c02b
0e5a5c5
8595613
b1245ea
831c02b
 
 
 
 
8595613
 
 
 
 
 
 
 
 
 
 
 
 
0e5a5c5
8595613
831c02b
 
 
 
 
 
8595613
 
 
 
 
c19e50b
 
e3bbe06
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
51
52
53
54
55
FROM vllm/vllm-openai:v0.21.0

ENV DEBIAN_FRONTEND=noninteractive
ENV PYTHONUNBUFFERED=1

ENV MODEL_NAME=numind/NuExtract3
ENV OPENAI_API_BASE=http://127.0.0.1:8000/v1
ENV OPENAI_API_KEY=EMPTY

ENV GRADIO_SERVER_NAME=0.0.0.0
ENV GRADIO_SERVER_PORT=7860

ENV VLLM_PORT=8001
ENV MAX_MODEL_LEN=18000
ENV GPU_MEMORY_UTILIZATION=0.90

ENV NUEXTRACT_MAX_TOKENS=15000
ENV NUEXTRACT_EXAMPLE_DIR=/home/user/app/examples
ENV NUEXTRACT_ASSETS_DIR=/home/user/app/assets

ENV HF_HOME=/home/user/.cache/huggingface
ENV HUGGINGFACE_HUB_CACHE=/home/user/.cache/huggingface/hub
ENV TRANSFORMERS_CACHE=/home/user/.cache/huggingface
ENV VLLM_CACHE_ROOT=/home/user/.cache/vllm
ENV XDG_CACHE_HOME=/home/user/.cache

RUN pip install --no-cache-dir \
    gradio \
    openai \
    pillow

RUN useradd -m -u 1000 user || true

WORKDIR /home/user/app

COPY --chown=user:user app.py /home/user/app/app.py
COPY --chown=user:user start.sh /home/user/app/start.sh
COPY --chown=user:user assets /home/user/app/assets
COPY --chown=user:user examples /home/user/app/examples

RUN mkdir -p \
      /home/user/.cache/huggingface \
      /home/user/.cache/huggingface/hub \
      /home/user/.cache/vllm \
    && chown -R user:user /home/user \
    && chmod +x /home/user/app/start.sh

USER user

EXPOSE 7860

ENTRYPOINT []

CMD ["/bin/bash", "/home/user/app/start.sh"]