FROM ghcr.io/ggml-org/llama.cpp:server RUN apt update && apt install wget -y && rm -rf /var/lib/apt/lists/* # Create a dedicated directory to organize the models RUN mkdir -p /models # --- MODEL 1: Gemma 4 Multimodal + Speculative Setup --- 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 RUN 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 RUN wget "https://huggingface.co/unsloth/gemma-4-E2B-it-qat-GGUF/resolve/main/mmproj-F16.gguf" -O /models/gemma-4-E2B-it-mmproj.gguf # --- MODEL 2: Gemma 3 270M IT Q8_0 --- RUN wget "https://huggingface.co/unsloth/gemma-3-270m-it-GGUF/resolve/main/gemma-3-270m-it-Q8_0.gguf" -O /models/gemma-3-270m-it-Q8_0.gguf # --- MODEL 3: Gemma 3 1B Model --- 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 # --- MODEL 4: Ornith 1.0 9B Model --- RUN wget "https://huggingface.co/deepreinforce-ai/Ornith-1.0-9B-GGUF/resolve/main/ornith-1.0-9b-Q4_K_M.gguf" -O /models/ornith-1.0-9b-Q4_K_M.gguf # --- MODEL 5: Qwen 3.5 0.8B Multimodal (Vision) --- RUN wget "https://huggingface.co/unsloth/Qwen3.5-0.8B-GGUF/resolve/main/Qwen3.5-0.8B-Q4_0.gguf" -O /models/Qwen3.5-0.8B-Q4_0.gguf RUN wget "https://huggingface.co/unsloth/Qwen3.5-0.8B-GGUF/resolve/main/mmproj-BF16.gguf" -O /models/mmproj-BF16.gguf # --- MODEL 6: GPT OSS 20B --- RUN wget "https://huggingface.co/unsloth/gpt-oss-20b-GGUF/resolve/main/gpt-oss-20b-Q4_0.gguf" -O /models/gpt-oss-20b-Q4_0.gguf # --- MODEL 7: Gemma 4 12B IT --- RUN wget "https://huggingface.co/unsloth/gemma-4-12b-it-GGUF/resolve/main/gemma-4-12b-it-Q4_K_M.gguf" -O /models/gemma-4-12b-it-Q4_K_M.gguf # --- MODEL 8: Gemma 4 E4B IT --- RUN wget "https://huggingface.co/unsloth/gemma-4-E4B-it-GGUF/resolve/main/gemma-4-E4B-it-Q4_K_M.gguf" -O /models/gemma-4-E4B-it-Q4_K_M.gguf # --- MODEL 9: MiniCPM5 1B --- RUN wget "https://huggingface.co/openbmb/MiniCPM5-1B-GGUF/resolve/main/MiniCPM5-1B-Q4_K_M.gguf" -O /models/MiniCPM5-1B-Q4_K_M.gguf # --- MODEL 10: Nanbeige4.1 3B --- RUN wget "https://huggingface.co/Mungert/Nanbeige4.1-3B-GGUF/resolve/main/Nanbeige4.1-3B-q4_k_m.gguf?download=true" -O /models/Nanbeige4.1-3B-q4_k_m.gguf # --- MODEL 11: TwIL-LM3 Q5_K_S --- RUN wget "https://huggingface.co/holooo/TwIL-LM3-Q5_K_S-GGUF/resolve/main/twil-lm3-q5_k_s.gguf?download=true" -O /models/twil-lm3-q5_k_s.gguf # --- MODEL 12: LiquidAI LFM2.5 Audio 1.5B --- RUN wget "https://huggingface.co/LiquidAI/LFM2.5-1.2B-Instruct-GGUF/resolve/main/LFM2.5-1.2B-Instruct-Q4_0.gguf?download=true" -O /models/LFM2.5-1.2B-Instruct-Q4_0.gguf # --- MODEL 13: LiquidAI LFM2.5 8B A1B --- RUN wget "https://huggingface.co/LiquidAI/LFM2.5-8B-A1B-GGUF/resolve/main/LFM2.5-8B-A1B-Q4_0.gguf?download=true" -O /models/LFM2.5-8B-A1B-Q4_0.gguf # --- MODEL 14: LiquidAI LFM2.5 VL 450M --- RUN wget "https://huggingface.co/LiquidAI/LFM2.5-VL-450M-GGUF/resolve/main/LFM2.5-VL-450M-Q4_0.gguf?download=true" -O /models/LFM2.5-VL-450M-Q4_0.gguf # --- CREATE ROUTER CONFIGURATION --- RUN echo "[gemma-4-E2B-it-vision]" > /models.ini && \ echo "model = /models/gemma-4-E2B-it-qat-UD-Q4_K_XL.gguf" >> /models.ini && \ echo "spec-draft-model = /models/mtp-gemma-4-E2B-it.gguf" >> /models.ini && \ echo "mmproj = /models/gemma-4-E2B-it-mmproj.gguf" >> /models.ini && \ echo "ctx-size = 131072" >> /models.ini && \ echo "flash-attn = on" >> /models.ini && \ echo "ubatch-size = 128" >> /models.ini && \ echo "batch-size = 512" >> /models.ini && \ echo "spec-type = draft-mtp" >> /models.ini && \ echo "spec-draft-n-max = 3" >> /models.ini && \ echo "" >> /models.ini && \ echo "[gemma-3-1b]" >> /models.ini && \ echo "model = /models/gemma-3-1b-it.Q3_K_M.gguf" >> /models.ini && \ echo "ctx-size = 131072" >> /models.ini && \ echo "flash-attn = on" >> /models.ini && \ echo "" >> /models.ini && \ echo "[gemma-3-270m]" >> /models.ini && \ echo "model = /models/gemma-3-270m-it-Q8_0.gguf" >> /models.ini && \ echo "ctx-size = 32768" >> /models.ini && \ echo "flash-attn = on" >> /models.ini && \ echo "" >> /models.ini && \ echo "[ornith-9b]" >> /models.ini && \ echo "model = /models/ornith-1.0-9b-Q4_K_M.gguf" >> /models.ini && \ echo "ctx-size = 8192" >> /models.ini && \ echo "flash-attn = on" >> /models.ini && \ echo "" >> /models.ini && \ echo "[qwen-3.5-0.8b-vision]" >> /models.ini && \ echo "model = /models/Qwen3.5-0.8B-Q4_0.gguf" >> /models.ini && \ echo "mmproj = /models/mmproj-BF16.gguf" >> /models.ini && \ echo "ctx-size = 32768" >> /models.ini && \ echo "flash-attn = on" >> /models.ini && \ echo "" >> /models.ini && \ echo "[gpt-oss-20b]" >> /models.ini && \ echo "model = /models/gpt-oss-20b-Q4_0.gguf" >> /models.ini && \ echo "ctx-size = 32768" >> /models.ini && \ echo "flash-attn = on" >> /models.ini && \ echo "" >> /models.ini && \ echo "[gemma-4-12b]" >> /models.ini && \ echo "model = /models/gemma-4-12b-it-Q4_K_M.gguf" >> /models.ini && \ echo "ctx-size = 131072" >> /models.ini && \ echo "flash-attn = on" >> /models.ini && \ echo "" >> /models.ini && \ echo "[gemma-4-E4B-it]" >> /models.ini && \ echo "model = /models/gemma-4-E4B-it-Q4_K_M.gguf" >> /models.ini && \ echo "ctx-size = 131072" >> /models.ini && \ echo "flash-attn = on" >> /models.ini && \ echo "" >> /models.ini && \ echo "[minicpm5-1b]" >> /models.ini && \ echo "model = /models/MiniCPM5-1B-Q4_K_M.gguf" >> /models.ini && \ echo "ctx-size = 131072" >> /models.ini && \ echo "flash-attn = on" >> /models.ini && \ echo "" >> /models.ini && \ echo "[nanbeige4.1-3b]" >> /models.ini && \ echo "model = /models/Nanbeige4.1-3B-q4_k_m.gguf" >> /models.ini && \ echo "ctx-size = 32768" >> /models.ini && \ echo "flash-attn = on" >> /models.ini && \ echo "" >> /models.ini && \ echo "[twil-lm3]" >> /models.ini && \ echo "model = /models/twil-lm3-q5_k_s.gguf" >> /models.ini && \ echo "ctx-size = 32768" >> /models.ini && \ echo "flash-attn = on" >> /models.ini && \ echo "" >> /models.ini && \ echo "[lfm2.5-1.2b instruct]" >> /models.ini && \ echo "model = /models/LFM2.5-1.2B-Instruct-Q4_0.gguf" >> /models.ini && \ echo "ctx-size = 32768" >> /models.ini && \ echo "flash-attn = on" >> /models.ini && \ echo "" >> /models.ini && \ echo "[lfm2.5-8b-a1b]" >> /models.ini && \ echo "model = /models/LFM2.5-8B-A1B-Q4_0.gguf" >> /models.ini && \ echo "ctx-size = 32768" >> /models.ini && \ echo "flash-attn = on" >> /models.ini && \ echo "" >> /models.ini && \ echo "[lfm2.5-vl-450m]" >> /models.ini && \ echo "model = /models/LFM2.5-VL-450M-Q4_0.gguf" >> /models.ini && \ echo "ctx-size = 32768" >> /models.ini && \ echo "flash-attn = on" >> /models.ini # --- START SERVER IN ROUTER MODE WITH CORS, TOOLS & MCP ENABLED --- CMD [ \ "--models-preset", "/models.ini", \ "--port", "7860", \ "--host", "0.0.0.0", \ "-t", "2", \ "-tb", "2", \ "--tools", "all", \ "--jinja", \ "--webui-mcp-proxy", \ "--cors-origins", "https://we2app-v4.hf.space" \ ]