Update Dockerfile
Browse files- Dockerfile +29 -9
Dockerfile
CHANGED
|
@@ -1,21 +1,35 @@
|
|
| 1 |
-
FROM ghcr.io/ggml-org/llama.cpp:
|
| 2 |
|
| 3 |
-
|
|
|
|
|
|
|
| 4 |
|
| 5 |
# Create a dedicated directory to organize the models
|
| 6 |
RUN mkdir -p /models
|
| 7 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 8 |
# --- MODEL 1: Gemma 4 Multimodal + Speculative Setup ---
|
| 9 |
-
RUN wget "https://huggingface.co/unsloth/gemma-4-E2B-it-qat-GGUF/resolve/main/gemma-4-E2B-it-qat-UD-Q4_K_XL.gguf" -O /models/gemma-4-E2B-it-qat-UD-Q4_K_XL.gguf
|
| 10 |
-
|
| 11 |
-
|
| 12 |
|
| 13 |
-
# --- MODEL 2: Gemma 3 1B Model
|
| 14 |
RUN wget "https://huggingface.co/MaziyarPanahi/gemma-3-1b-it-GGUF/resolve/main/gemma-3-1b-it.Q3_K_M.gguf" -O /models/gemma-3-1b-it.Q3_K_M.gguf
|
| 15 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 16 |
|
| 17 |
# --- CREATE ROUTER CONFIGURATION ---
|
| 18 |
-
# Appending configuration step-by-step to avoid any multiline shell escaping issues
|
| 19 |
RUN echo "[gemma-4-vision]" > /models.ini && \
|
| 20 |
echo "model = /models/gemma-4-E2B-it-qat-UD-Q4_K_XL.gguf" >> /models.ini && \
|
| 21 |
echo "spec-draft-model = /models/mtp-gemma-4-E2B-it.gguf" >> /models.ini && \
|
|
@@ -30,8 +44,14 @@ RUN echo "[gemma-4-vision]" > /models.ini && \
|
|
| 30 |
echo "[gemma-3-1b]" >> /models.ini && \
|
| 31 |
echo "model = /models/gemma-3-1b-it.Q3_K_M.gguf" >> /models.ini && \
|
| 32 |
echo "ctx-size = 4096" >> /models.ini && \
|
| 33 |
-
echo "flash-attn = on" >> /models.ini
|
| 34 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 35 |
|
| 36 |
# --- START SERVER IN ROUTER MODE ---
|
| 37 |
CMD [ \
|
|
|
|
| 1 |
+
FROM ghcr.io/ggml-org/llama.cpp:full
|
| 2 |
|
| 3 |
+
WORKDIR /app
|
| 4 |
+
|
| 5 |
+
RUN apt update && apt install -y python3 python3-pip python3-venv wget && rm -rf /var/lib/apt/lists/*
|
| 6 |
|
| 7 |
# Create a dedicated directory to organize the models
|
| 8 |
RUN mkdir -p /models
|
| 9 |
|
| 10 |
+
# Set up Python virtual environment for huggingface_hub tools
|
| 11 |
+
RUN python3 -m venv /opt/venv
|
| 12 |
+
ENV PATH="/opt/venv/bin:$PATH"
|
| 13 |
+
RUN pip install -U pip huggingface_hub
|
| 14 |
+
|
| 15 |
# --- MODEL 1: Gemma 4 Multimodal + Speculative Setup ---
|
| 16 |
+
RUN wget "https://huggingface.co/unsloth/gemma-4-E2B-it-qat-GGUF/resolve/main/gemma-4-E2B-it-qat-UD-Q4_K_XL.gguf" -O /models/gemma-4-E2B-it-qat-UD-Q4_K_XL.gguf && \
|
| 17 |
+
wget "https://huggingface.co/unsloth/gemma-4-E2B-it-qat-GGUF/resolve/main/mtp-gemma-4-E2B-it.gguf" -O /models/mtp-gemma-4-E2B-it.gguf && \
|
| 18 |
+
wget "https://huggingface.co/unsloth/gemma-4-E2B-it-qat-GGUF/resolve/main/mmproj-F16.gguf" -O /models/gemma-4-E2B-it-mmproj.gguf
|
| 19 |
|
| 20 |
+
# --- MODEL 2: Gemma 3 1B Model ---
|
| 21 |
RUN wget "https://huggingface.co/MaziyarPanahi/gemma-3-1b-it-GGUF/resolve/main/gemma-3-1b-it.Q3_K_M.gguf" -O /models/gemma-3-1b-it.Q3_K_M.gguf
|
| 22 |
|
| 23 |
+
# --- MODEL 3: Gemma 4 26B Multimodal (Added via huggingface_hub) ---
|
| 24 |
+
ARG HF_TOKEN
|
| 25 |
+
RUN python3 -c 'from huggingface_hub import hf_hub_download; \
|
| 26 |
+
import os; \
|
| 27 |
+
token = os.getenv("HF_TOKEN") or None; \
|
| 28 |
+
repo="unsloth/gemma-4-26B-A4B-it-GGUF"; \
|
| 29 |
+
hf_hub_download(repo_id=repo, filename="gemma-4-26B-A4B-it-UD-Q4_K_XL.gguf", local_dir="/models", token=token); \
|
| 30 |
+
hf_hub_download(repo_id=repo, filename="mmproj-BF16.gguf", local_dir="/models", token=token)'
|
| 31 |
|
| 32 |
# --- CREATE ROUTER CONFIGURATION ---
|
|
|
|
| 33 |
RUN echo "[gemma-4-vision]" > /models.ini && \
|
| 34 |
echo "model = /models/gemma-4-E2B-it-qat-UD-Q4_K_XL.gguf" >> /models.ini && \
|
| 35 |
echo "spec-draft-model = /models/mtp-gemma-4-E2B-it.gguf" >> /models.ini && \
|
|
|
|
| 44 |
echo "[gemma-3-1b]" >> /models.ini && \
|
| 45 |
echo "model = /models/gemma-3-1b-it.Q3_K_M.gguf" >> /models.ini && \
|
| 46 |
echo "ctx-size = 4096" >> /models.ini && \
|
| 47 |
+
echo "flash-attn = on" >> /models.ini && \
|
| 48 |
+
echo "" >> /models.ini && \
|
| 49 |
+
echo "[gemma-4-26b-vision]" >> /models.ini && \
|
| 50 |
+
echo "model = /models/gemma-4-26B-A4B-it-UD-Q4_K_XL.gguf" >> /models.ini && \
|
| 51 |
+
echo "mmproj = /models/mmproj-BF16.gguf" >> /models.ini && \
|
| 52 |
+
echo "cache-type-k = q8_0" >> /models.ini && \
|
| 53 |
+
echo "cache-type-v = iq4_nl" >> /models.ini && \
|
| 54 |
+
echo "ctx-size = 64000" >> /models.ini
|
| 55 |
|
| 56 |
# --- START SERVER IN ROUTER MODE ---
|
| 57 |
CMD [ \
|