From 97dd2dd2986d63db5249aaaf98c74e1109b6b2ba Mon Sep 17 00:00:00 2001 From: wanglin <2281216234@qq.com> Date: Sat, 3 Oct 2026 19:21:34 +0800 Subject: [PATCH] =?UTF-8?q?enginex-bi100-compat:=20=E6=94=B9=E4=B8=BA?= =?UTF-8?q?=E6=8B=A6=E6=88=AA=20vllm=20=E4=BA=8C=E8=BF=9B=E5=88=B6?= =?UTF-8?q?=EF=BC=88=E5=AF=B9=E9=BD=90=20zhengzhongwei/vLLM-Iluvatar=5Fbi-?= =?UTF-8?q?100-opt=20=E6=A8=A1=E5=BC=8F=EF=BC=89=EF=BC=8C=E5=B9=B3?= =?UTF-8?q?=E5=8F=B0=E5=91=BD=E4=BB=A4=E6=97=A0=E9=9C=80=E6=94=B9=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- vllm_wrapper.sh | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 vllm_wrapper.sh diff --git a/vllm_wrapper.sh b/vllm_wrapper.sh new file mode 100644 index 0000000..2b3b6dd --- /dev/null +++ b/vllm_wrapper.sh @@ -0,0 +1,46 @@ +#!/bin/bash +# vllm_wrapper.sh —— 拦截 vllm 二进制,启动前做兼容修补后再交给真实 vllm +# +# 设计照搬社区已上线引擎 zhengzhongwei/vLLM-Iluvatar_bi-100-opt 的做法: +# 把镜像里的 `vllm` 换成本脚本(真身改名 vllm_real),平台下发的 +# `vllm serve /model --port 80 ...` 就会自然流经这里,**不需要平台改命令**。 +# +# 只在 `vllm serve <目录>` 这一种形态上做修补,其余子命令原样透传。 +set -u + +# 与 zhengzhongwei/vLLM-Iluvatar_bi-100-opt 一致的真身路径;Dockerfile 里 vllm -> *_real +REAL=/usr/local/corex/lib64/python3/dist-packages/bin/vllm_real +PREFLIGHT=/opt/preflight.py + +if [ "${1:-}" = "serve" ] && [ -n "${2:-}" ]; then + MODEL_DIR="$2" + shift 2 + + EXTRA="" + if [ -f "$PREFLIGHT" ]; then + # preflight 失败也绝不阻断:只打日志,按原命令跑 + if python3 "$PREFLIGHT" --model "$MODEL_DIR" --out /tmp/mhxc_preflight.json \ + >/tmp/mhxc_preflight.out 2>/tmp/mhxc_preflight.err; then + EXTRA=$(python3 - /tmp/mhxc_preflight.json <<'PY' +import json, sys, shlex +try: + with open(sys.argv[1], encoding="utf-8") as f: + d = json.load(f) + print(" ".join(shlex.quote(a) for a in (d.get("extra_args") or []))) +except Exception: + print("") +PY +) + else + echo "[vllm_wrapper] preflight 非 0 退出,按原命令继续" + fi + sed 's/^/[vllm_wrapper] /' /tmp/mhxc_preflight.err 2>/dev/null || true + fi + + echo "[vllm_wrapper] model=$MODEL_DIR extra=${EXTRA:-(无)}" + echo "[vllm_wrapper] exec: vllm_real serve $MODEL_DIR $EXTRA $*" + # shellcheck disable=SC2086 + exec "$REAL" serve "$MODEL_DIR" $EXTRA "$@" +fi + +exec "$REAL" "$@"