enginex-bi100-compat v1: preflight 兼容增强引擎(R2/R3/R3b/R4/R7),结构与引擎修复模式同型,25 项自测全通过
This commit is contained in:
44
entrypoint.sh
Normal file
44
entrypoint.sh
Normal file
@@ -0,0 +1,44 @@
|
||||
#!/bin/bash
|
||||
# enginex-bi100-compat 入口:启动前修补 -> exec vllm serve
|
||||
#
|
||||
# 与社区已上线引擎 EngineX-Sunrise/enginex-S2-vllm-fix-tokenizer 同一模式
|
||||
# (detect -> fix -> `exec vllm serve "$MODEL_DIR" $EXTRA "$@"`),
|
||||
# 只是把「只修 tokenizer」升级成「修 tokenizer + chat_template + 架构 + 缺模块」。
|
||||
#
|
||||
# 平台会把 GPU 数、端口、max-model-len 等参数作为 "$@" 传进来,原样透传。
|
||||
set -u
|
||||
|
||||
MODEL_DIR=${MODEL_DIR:-${1:-/model}}
|
||||
# 若第一个参数不是目录,则认为是平台传入的 vllm 参数,MODEL_DIR 仍用默认 /model
|
||||
if [ $# -gt 0 ] && [ -d "$1" ]; then
|
||||
MODEL_DIR="$1"
|
||||
shift
|
||||
fi
|
||||
|
||||
FIX_LOG=/tmp/mhxc_preflight.json
|
||||
echo "[entrypoint] model dir: $MODEL_DIR"
|
||||
echo "[entrypoint] args: $*"
|
||||
|
||||
EXTRA=""
|
||||
if python3 /opt/preflight.py --model "$MODEL_DIR" --out "$FIX_LOG" >/tmp/mhxc_preflight.out 2>/tmp/mhxc_preflight.err; then
|
||||
# 从 JSON 里取 extra_args(用 python 解析,避免依赖 jq)
|
||||
EXTRA=$(python3 - "$FIX_LOG" <<'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 as e:
|
||||
print("")
|
||||
PY
|
||||
)
|
||||
echo "[entrypoint] preflight extra args: ${EXTRA:-(无)}"
|
||||
sed 's/^/[entrypoint] preflight: /' /tmp/mhxc_preflight.err 2>/dev/null || true
|
||||
else
|
||||
echo "[entrypoint] preflight 执行失败,按原命令继续(不阻断启动)"
|
||||
sed 's/^/[entrypoint] preflight: /' /tmp/mhxc_preflight.err 2>/dev/null || true
|
||||
fi
|
||||
|
||||
echo "[entrypoint] starting vllm..."
|
||||
# shellcheck disable=SC2086
|
||||
exec vllm serve "$MODEL_DIR" $EXTRA "$@"
|
||||
Reference in New Issue
Block a user