Update Dockerfile for vllm wheel version and enhance input processing in Omni models. Added decoding for byte messages in async requests, included new metrics in benchmarks, and improved pause state handling in the scheduler. Refined input and output processing methods for better multimodal support and error handling. Signed-off-by: tzhouam <tzhouam@connect.ust.hk>
46 lines
2.1 KiB
Docker
46 lines
2.1 KiB
Docker
ARG VLLM_BASE_IMAGE=vllm/vllm-openai
|
||
ARG VLLM_BASE_TAG=v0.15.0
|
||
FROM ${VLLM_BASE_IMAGE}:${VLLM_BASE_TAG}
|
||
ARG APP_DIR=/workspace/vllm-omni
|
||
WORKDIR ${APP_DIR}
|
||
|
||
COPY . .
|
||
|
||
# Install system dependencies
|
||
RUN apt-get update && \
|
||
apt-get install -y ffmpeg sox libsox-fmt-all && \
|
||
apt-get clean && \
|
||
rm -rf /var/lib/apt/lists/*
|
||
|
||
# Install vLLM wheel for the specific commit
|
||
# URL format: https://wheels.vllm.ai/<commit_hash>/
|
||
# Current vLLM wheel commit: 16f24e87975ef4cd2c12879425062913ef62f6fd
|
||
# Note: --prerelease=allow is required because nightly/commit wheels use
|
||
# pre-release version numbers (e.g. 2.10.0.dev...) which uv ignores by default,
|
||
# causing it to fall back to the older stable release from PyPI.
|
||
RUN uv pip install --system --upgrade --force-reinstall --prerelease=allow vllm --extra-index-url https://wheels.vllm.ai/944ffb59680c0210ec54ddb43a3c7ef015e1f842
|
||
|
||
|
||
RUN uv pip uninstall --system nvidia-cublas-cu12
|
||
# Install vllm-omni into the same uv-managed Python environment used by the base image.
|
||
# Use bash -c so that $(python3 -c ...) is expanded inside the container.
|
||
RUN uv pip install --system --no-cache-dir ".[dev]"
|
||
|
||
# pplx_kernels is optional; the base image may already ship a version.
|
||
# Reinstall attempt may fail if no compatible wheel exists for the current
|
||
# PyTorch/CUDA combination – allow the build to continue regardless.
|
||
RUN pip install --upgrade --force-reinstall "pplx_kernels" || true
|
||
|
||
RUN /bin/bash -c 'FLASHINFER_CUDA_TAG="$(python3 -c "import torch; print((torch.version.cuda or \"12.4\").replace(\".\", \"\"))")" && \
|
||
uv pip install --system --upgrade --force-reinstall \
|
||
"flashinfer-python==0.6.3" \
|
||
"flashinfer-cubin==0.6.3" \
|
||
"flashinfer-jit-cache==0.6.3" \
|
||
--extra-index-url "https://flashinfer.ai/whl/cu${FLASHINFER_CUDA_TAG}"'
|
||
# Pin nvidia-cublas-cu12 after vllm-omni install so dependency resolution does not overwrite it
|
||
RUN uv pip install --system --upgrade --force-reinstall "nvidia-cublas-cu12==12.9.1.4"
|
||
RUN uv pip install --system --upgrade --force-reinstall "numpy==2.2.6"
|
||
RUN ln -sf /usr/bin/python3 /usr/bin/python
|
||
|
||
ENTRYPOINT []
|