cloudunity commited on
Commit
1b23905
·
verified ·
1 Parent(s): f385d09

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +51 -30
Dockerfile CHANGED
@@ -1,37 +1,58 @@
1
- FROM python:3.11-slim
2
 
3
- # Install system dependencies
4
- RUN apt-get update && apt-get install -y --no-install-recommends gcc libc6-dev && rm -rf /var/lib/apt/lists/*
 
 
5
 
6
  WORKDIR /app
7
 
8
- # Install Python dependencies
9
- RUN pip install --no-cache-dir flask flask-cors Pillow litert-lm huggingface_hub
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10
 
11
- # Create dummy Vulkan library to satisfy litert-lm on CPU
12
- RUN printf 'void vkGetInstanceProcAddr(){}\nvoid vkCreateInstance(){}\nvoid vkDestroyInstance(){}\nvoid vkEnumeratePhysicalDevices(){}\nvoid vkGetDeviceProcAddr(){}' > /tmp/vk.c \
13
- && gcc -shared -fPIC -o /app/libvulkan.so.1 /tmp/vk.c \
14
- && rm /tmp/vk.c
15
-
16
- # Create model directory
17
- RUN mkdir -p /app/models/gemma
18
-
19
- # --- KEY FIX: Updated 'hf download' to fetch the 12B model ---
20
- RUN hf download litert-community/gemma-4-E2B-it-litert-lm gemma-4-E2B-it.litertlm --local-dir /app/models/gemma
21
- # Copy the server code
22
- COPY server.py .
23
-
24
- # Setup permissions for Hugging Face Spaces (requires user 1000)
25
- RUN useradd -m -u 1000 user
26
- RUN chown -R user:user /app
27
- USER user
28
-
29
- # Set environment variables
30
- ENV PORT=7860
31
- ENV LD_LIBRARY_PATH=/app
32
-
33
- # --- KEY FIX: Updated path to point to the 12B model file ---
34
- ENV GEMMA_MODEL_PATH=/app/models/gemma/gemma-4-E2B-it.litertlm
35
  EXPOSE 7860
36
 
37
- CMD ["python3", "server.py"]
 
 
 
 
 
 
 
 
 
 
 
 
1
+ FROM python:3.12-slim
2
 
3
+ ENV DEBIAN_FRONTEND=noninteractive
4
+ ENV PYTHONUNBUFFERED=1
5
+ ENV PIP_NO_CACHE_DIR=1
6
+ ENV LD_LIBRARY_PATH=/opt/llama
7
 
8
  WORKDIR /app
9
 
10
+ RUN apt-get update && apt-get install -y --no-install-recommends \
11
+ git \
12
+ cmake \
13
+ build-essential \
14
+ curl \
15
+ ca-certificates \
16
+ libgomp1 \
17
+ && rm -rf /var/lib/apt/lists/*
18
+
19
+ RUN git clone --depth 1 https://github.com/ggml-org/llama.cpp.git /tmp/llama.cpp \
20
+ && cmake -S /tmp/llama.cpp -B /tmp/llama.cpp/build \
21
+ -DGGML_NATIVE=OFF \
22
+ -DGGML_OPENMP=ON \
23
+ -DLLAMA_BUILD_SERVER=ON \
24
+ -DLLAMA_BUILD_TESTS=OFF \
25
+ -DLLAMA_BUILD_EXAMPLES=ON \
26
+ && cmake --build /tmp/llama.cpp/build \
27
+ --config Release \
28
+ --target llama-server \
29
+ -j2 \
30
+ && mkdir -p /opt/llama \
31
+ && cp /tmp/llama.cpp/build/bin/llama-server /opt/llama/ \
32
+ && cp /tmp/llama.cpp/build/bin/*.so* /opt/llama/ \
33
+ && rm -rf /tmp/llama.cpp
34
+
35
+ RUN pip install huggingface_hub
36
+
37
+ RUN python3 -c "\
38
+ from huggingface_hub import hf_hub_download; \
39
+ hf_hub_download( \
40
+ repo_id='LiquidAI/LFM2.5-2.6B-GGUF', \
41
+ filename='LFM2.5-2.6B-QAD-Q4_0.gguf', \
42
+ local_dir='/app/models' \
43
+ )"
44
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
45
  EXPOSE 7860
46
 
47
+ CMD ["/opt/llama/llama-server", \
48
+ "--model", "/app/models/LFM2.5-2.6B-QAD-Q4_0.gguf", \
49
+ "--host", "0.0.0.0", \
50
+ "--port", "7860", \
51
+ "--alias", "LFM2.5-2.6B", \
52
+ "--threads", "2", \
53
+ "--ctx-size", "32768", \
54
+ "--cache-type-k", "q8_0", \
55
+ "--cache-type-v", "q8_0", \
56
+ "--parallel", "1", \
57
+ "--cont-batching", \
58
+ "--flash-attn", "auto"]