ARG BASE_IMAGE=vllm/vllm-openai:glm51-cu130 FROM ${BASE_IMAGE} # Patch tool parser for GLM regex fix COPY glm4_moe_tool_parser.py /usr/local/lib/python3.12/dist-packages/vllm/tool_parsers/glm4_moe_tool_parser.py COPY utils.py /usr/local/lib/python3.12/dist-packages/vllm/tool_parsers/utils.py # Patch hf renderer to force string content format for GLM models # This fixes the issue where tool response content is dropped COPY vllm_patches/hf.py /usr/local/lib/python3.12/dist-packages/vllm/renderers/hf.py # Install LMCache for KV cache offloading / sharing across nodes # Build with system CUDA 13.0 for Blackwell (B200) RUN apt-get update && apt-get install -y git \ libcusolver-dev-13-0 \ libcusparse-dev-13-0 \ libcublas-dev-13-0 \ libcurand-dev-13-0 \ libcufft-dev-13-0 \ libnvjitlink-dev-13-0 && \ git clone https://github.com/neuralwatt/LMCache.git /tmp/lmcache && \ cd /tmp/lmcache && \ git checkout fix/mla-multi-group-kv-cache && \ CUDA_HOME=/usr/local/cuda \ TORCH_CUDA_ARCH_LIST="10.0" \ pip install --no-cache-dir --no-build-isolation . && \ rm -rf /tmp/lmcache