# syntax=docker/dockerfile:1.7 # DeepSeek-V4-Flash-DSpark — instanttensor on top of # aidendle94/sparkrun-vllm-ds4-gb10:production-3.76.1 # # production-3.76.1 (same lineage as 3.75) ships the patched NCCL 2.30.4 ABI # (the base layers are byte-identical to production-3.2, which is labeled # "patched NCCL 2.30.4"), so no NCCL re-alignment is needed. This overlay adds # instanttensor for faster model loading (load-format instanttensor) plus the # deepseek_v4 encoder reasoning-effort fix (see patch COPY below). # # Build: cd docker-images/deepseek-v4-flash-dspark && docker build -t sparkrun-vllm-ds4-gb10:fixed . # Tag: docker tag sparkrun-vllm-ds4-gb10:fixed aidendle94/sparkrun-vllm-ds4-gb10:production-3.76.1 FROM aidendle94/sparkrun-vllm-ds4-gb10:production-3.76.1 RUN pip install --no-cache-dir --no-deps --force-reinstall instanttensor==0.1.9 # production-3.76.1 itself ships a fixed deepseek_v4.py (layer LABEL # "org.375.overlay=3.76.1"): it names thinking/enable_thinking/reasoning_effort/ # drop_thinking as explicit signature params so the vllm serving path # (supports_kw, allow_var_kwargs=False) no longer drops them — the root-cause # fix. So our vendored deepseek_v4.py is NOT needed on this base (it read the # same kwargs via **kwargs and was equally dropped). # # The bundled deepseek_v4_encoding.py is still the stale revision (single # REASONING_EFFORT_MAX wording, max used the high text, read the deprecated # `reasoning` key) — 3.76.1's overlay layers do not touch it. deepseek_v4_encoding.py # is therefore still replaced with the canonical model-card reference # (deepseek-ai/DeepSeek-V4-Flash-0731 encoding/encoding_dsv4.py): full low/high/max # prompt dict, correct gate for both high and max, and reasoning_content key. # Mirrors the encoder fix 0rand bundled into his local # production-3.75-reffix-0731 image (forums…/372268/708). COPY patches/deepseek_v4_encoding.py \ /opt/venv/lib/python3.12/site-packages/vllm/tokenizers/