Files
vllm-with-lmcache/Dockerfile

50 lines
2.2 KiB
Docker

#FROM vllm/vllm-openai:v0.19.0-cu130
#FROM vllm/vllm-openai:deepseekv4-cu130
FROM vllm/vllm-openai:v0.20.0-cu130
# Fix the broken ass nightly build that forgot to include pandas
#RUN pip install --no-cache-dir pandas
# 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 \
cuda-nvrtc-dev-13-0 \
libnvjitlink-dev-13-0 && \
git clone https://github.com/biondizzle/LMCache.git /tmp/lmcache && \
cd /tmp/lmcache && \
git checkout feat/redis-ttl && \
CUDA_HOME=/usr/local/cuda \
TORCH_CUDA_ARCH_LIST="10.0" \
pip install --no-cache-dir --no-build-isolation . && \
rm -rf /tmp/lmcache && export CACHE_BUSTER=2
ENV VLLM_DOCKER_BUILD_CONTEXT=1
# Needs git to be installed before this can run
#RUN curl -fsSL https://raw.githubusercontent.com/vllm-project/vllm/v0.20.0/tools/install_deepgemm.sh | bash
# Had to modify this
COPY ./install_deepgemm.sh /opt/install_deepgemm.sh
RUN chmod +x /opt/install_deepgemm.sh
RUN /opt/install_deepgemm.sh
# Copy over nemotron reasonong parser
COPY ./super_v3_reasoning_parser.py /opt/super_v3_reasoning_parser.py
# Copy over deepseek tool call parser with MTP fixes
COPY deepseekv32_tool_parser.py /usr/local/lib/python3.12/dist-packages/vllm/tool_parsers/deepseekv32_tool_parser.py
COPY deepseekv4_tool_parser.py /usr/local/lib/python3.12/dist-packages/vllm/tool_parsers/deepseekv4_tool_parser.py
# Copy over minimax tool call parser with kwargs fixes
COPY minimax_tool_parser.py /usr/local/lib/python3.12/dist-packages/vllm/tool_parsers/minimax_tool_parser.py
# Copy over minimax parsers with kwargs fixes
COPY minimax_tool_parser.py /usr/local/lib/python3.12/dist-packages/vllm/tool_parsers/minimax_tool_parser.py
COPY minimax_m2_parser.py /usr/local/lib/python3.12/dist-packages/vllm/parser/minimax_m2_parser.py
# Fix DeepseekV4Config missing max_position_embeddings attr for RoPE standardization
#COPY deepseek_v4.py /usr/local/lib/python3.12/dist-packages/vllm/transformers_utils/configs/deepseek_v4.py