Dockerfile 1.9 KB

12345678910111213141516171819202122232425262728293031323334
  1. # syntax=docker/dockerfile:1.7
  2. # DeepSeek-V4-Flash-DSpark — instanttensor on top of
  3. # aidendle94/sparkrun-vllm-ds4-gb10:production-3.75
  4. #
  5. # production-3.75 already ships the patched NCCL 2.30.4 ABI (its base layers
  6. # are byte-identical to production-3.2, which is labeled "patched NCCL
  7. # 2.30.4"), so no NCCL re-alignment is needed. This overlay adds instanttensor
  8. # for faster model loading (load-format instanttensor) plus the deepseek_v4
  9. # encoder reasoning-effort fix (see patch COPY below).
  10. #
  11. # Build: cd docker-images/deepseek-v4-flash-dspark && docker build -t sparkrun-vllm-ds4-gb10:fixed .
  12. # Tag: docker tag sparkrun-vllm-ds4-gb10:fixed aidendle94/sparkrun-vllm-ds4-gb10:production-3.75
  13. FROM aidendle94/sparkrun-vllm-ds4-gb10:production-3.75
  14. RUN pip install --no-cache-dir --no-deps --force-reinstall instanttensor==0.1.9
  15. # Fix reasoning_effort handling in the vendored deepseek_v4 tokenizer:
  16. # - high was accepted but silently injected nothing (only max triggered text)
  17. # - low / unknown values were coerced to high (unreachable low, silent escalation)
  18. # - the bundled deepseek_v4_encoding.py was an OLD revision (single REASONING_EFFORT_MAX
  19. # wording, max used the high text, read the deprecated `reasoning` key)
  20. # deepseek_v4_encoding.py is replaced with the canonical model-card reference
  21. # (deepseek-ai/DeepSeek-V4-Flash-0731 encoding/encoding_dsv4.py): full low/high/max
  22. # prompt dict, correct gate for both high and max, and reasoning_content key.
  23. # deepseek_v4.py carries the normalization fix so low is reachable and unknown
  24. # values map to None. See deepseek_v4.py / deepseek_v4_encoding.py in patches/.
  25. # Mirrors the encoder fix 0rand bundled into his local
  26. # production-3.75-reffix-0731 image (forums…/372268/708): we keep it as a
  27. # source overlay on our own :fixed image instead of adopting the private
  28. # -reffix tag.
  29. COPY patches/deepseek_v4.py \
  30. patches/deepseek_v4_encoding.py \
  31. /opt/venv/lib/python3.12/site-packages/vllm/tokenizers/