x
This commit is contained in:
+8
-11
@@ -286,25 +286,22 @@ COPY scripts/cache_warmer.py /opt/scripts/cache_warmer.py
|
|||||||
# ===========================================================================
|
# ===========================================================================
|
||||||
RUN set -ex && \
|
RUN set -ex && \
|
||||||
export http_proxy=${GIT_PROXY} https_proxy=${GIT_PROXY} && \
|
export http_proxy=${GIT_PROXY} https_proxy=${GIT_PROXY} && \
|
||||||
# 1) 准备 vllm 编译/构建所需工具(参考 ROCm7.2升级指南.md 7.1 节)
|
# 1) 安装 vllm(--no-build-isolation 不自动装运行时依赖,torch 另从 ROCm index 装)
|
||||||
${VENV}/bin/pip install -U "setuptools>=77.0.3" setuptools_scm setuptools_rust wheel && \
|
|
||||||
# 2) 安装 vllm 全部 Python 运行时依赖(去掉 setuptools 行避免与已装版本冲突)
|
|
||||||
cd /opt/vllm && \
|
cd /opt/vllm && \
|
||||||
grep -v '^setuptools' requirements/common.txt > /tmp/vllm_deps.txt && \
|
|
||||||
${VENV}/bin/pip install -r /tmp/vllm_deps.txt && \
|
|
||||||
# 3) 以 editable 模式注册 vllm 源码(依赖已装齐,不会再拉新包)
|
|
||||||
${VENV}/bin/pip install -e . --no-build-isolation && \
|
${VENV}/bin/pip install -e . --no-build-isolation && \
|
||||||
# 4) 强制复查 PyTorch(vllm 依赖可能拉成 CUDA 版 torch)
|
# 2) 安装 vllm 运行时依赖中与 torch 无关的包(torch 本身在下步用 ROCm index 装)
|
||||||
${VENV}/bin/pip uninstall -y triton triton-rocm 2>/dev/null; \
|
${VENV}/bin/pip install huggingface_hub msgspec aiohttp gguf cbor2 pyzmq && \
|
||||||
|
# 3) 强制复查 PyTorch(vllm 依赖可能拉成 CUDA 版 torch)
|
||||||
|
(${VENV}/bin/pip uninstall -y triton triton-rocm 2>/dev/null || true) && \
|
||||||
${VENV}/bin/pip install --force-reinstall \
|
${VENV}/bin/pip install --force-reinstall \
|
||||||
torch==2.11.0+rocm7.2 torchvision pytorch-triton-rocm \
|
torch==2.11.0+rocm7.2 torchvision pytorch-triton-rocm \
|
||||||
--index-url ${TORCH_INDEX} && \
|
--index-url ${TORCH_INDEX} && \
|
||||||
${VENV}/bin/python -c "import torch; v=torch.__version__; assert 'rocm' in v, f'PyTorch overwritten: {v}'; print('PyTorch OK:', v)" && \
|
${VENV}/bin/python -c "import torch; v=torch.__version__; assert 'rocm' in v, f'PyTorch overwritten: {v}'; print('PyTorch OK:', v)" && \
|
||||||
# 5) 深度验证 vllm(确保 AsyncEngineArgs、AsyncLLM 等关键模块可导入,缺包直接构建失败)
|
# 4) 深度验证 vllm(确保 AsyncEngineArgs、AsyncLLM 等关键模块可导入,缺包直接构建失败)
|
||||||
${VENV}/bin/python -c "from vllm.engine.arg_utils import AsyncEngineArgs; from vllm.v1.engine.async_llm import AsyncLLM; print('vllm deep import OK:', __import__('vllm').__version__)" && \
|
${VENV}/bin/python -c "from vllm.engine.arg_utils import AsyncEngineArgs; from vllm.v1.engine.async_llm import AsyncLLM; print('vllm deep import OK:', __import__('vllm').__version__)" && \
|
||||||
# 6) 确保 mineru-api 子进程不依赖 PYTHONPATH 也能导入 vllm
|
# 5) 确保 mineru-api 子进程不依赖 PYTHONPATH 也能导入 vllm
|
||||||
echo "/opt/vllm" > ${VENV}/lib/python${PYTHON_VER}/site-packages/vllm.pth && \
|
echo "/opt/vllm" > ${VENV}/lib/python${PYTHON_VER}/site-packages/vllm.pth && \
|
||||||
# 7) 锁定 ROCm 关键包版本(不含 setuptools,避免与 vllm/mineru 依赖冲突)
|
# 6) 锁定 ROCm 关键包版本(不含 setuptools,避免与 vllm/mineru 依赖冲突)
|
||||||
${VENV}/bin/pip freeze | grep -iE "^(torch|vllm|triton|pytorch.triton|torchvision|flash.attn|aiter)" >> ${VENV}/torch-constraint.txt && \
|
${VENV}/bin/pip freeze | grep -iE "^(torch|vllm|triton|pytorch.triton|torchvision|flash.attn|aiter)" >> ${VENV}/torch-constraint.txt && \
|
||||||
rm -rf /opt/vllm_build
|
rm -rf /opt/vllm_build
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user