File size: 1,511 Bytes
a0ef6f6
 
 
 
 
 
 
955b771
 
a0ef6f6
955b771
 
 
a0ef6f6
 
 
 
 
955b771
a0ef6f6
 
955b771
 
 
5928492
45b2646
4dda59b
45f3b9d
 
955b771
 
 
 
5928492
a0ef6f6
 
 
f73e85a
a0ef6f6
 
955b771
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
FROM mambaorg/micromamba:2.9-debian12

USER root
RUN mkdir -p /app && chown 1000:1000 /app
USER $MAMBA_USER

RUN micromamba install -y -n base -c conda-forge \
        python=3.11.15 \
        pip=26.2.1 \
        llama-cpp-python=0.3.34 \
        fastapi=0.141.1 \
        pydantic=2.13.4 \
        uvicorn=0.52.3 \
    && micromamba clean --all --yes

ARG MAMBA_DOCKERFILE_ACTIVATE=1

COPY --chown=$MAMBA_USER:$MAMBA_USER requirements.txt /tmp/requirements.txt
RUN pip install --no-cache-dir -r /tmp/requirements.txt && pip check

ENV HF_HOME=/home/mambauser/.cache/huggingface \
    PORT=7860 \
    THOX_FAST_MODEL_REPO=Qwen/Qwen2.5-0.5B-Instruct-GGUF \
    THOX_FAST_MODEL_REVISION=9217f5db79a29953eb74d5343926648285ec7e67 \
    THOX_FAST_MODEL_FILE=qwen2.5-0.5b-instruct-q4_k_m.gguf \
    THOX_FAST_POOL_SIZE=1 \
    THOX_FAST_QUEUE_TIMEOUT_S=6 \
    THOX_FAST_MAX_OUTPUT_TOKENS=16 \
    THOX_STREAM_HEARTBEAT_S=2 \
    THOX_MAX_OUTPUT_TOKENS=128

# Bake the immutable public interactive model into the image. A RUNNING Space
# therefore cannot report ready while still waiting on a first-request download.
RUN python -c "from huggingface_hub import hf_hub_download; hf_hub_download('Qwen/Qwen2.5-0.5B-Instruct-GGUF', 'qwen2.5-0.5b-instruct-q4_k_m.gguf', revision='9217f5db79a29953eb74d5343926648285ec7e67')"

WORKDIR /app
COPY --chown=$MAMBA_USER:$MAMBA_USER app.py /app/app.py
COPY --chown=$MAMBA_USER:$MAMBA_USER THOXROUTE_GITHUB_SHA /app/THOXROUTE_GITHUB_SHA

EXPOSE 7860
CMD ["python", "/app/app.py"]