Support MetaX and Vastai tokenizer compatibility images
Some checks failed
Build and verify Qwen2.5 compatibility engines / docker (push) Failing after 3m32s

This commit is contained in:
2026-09-30 12:16:08 +08:00
parent f8937cc505
commit fb5a163d07
6 changed files with 156 additions and 35 deletions

View File

@@ -9,17 +9,39 @@ fi
model_dir="$2"
shift 2
prepared="$(python3 /opt/modelhub/engine_compat.py "$model_dir")"
args=("$@")
tokenizer_dir=""
for ((i=0; i<${#args[@]}; i++)); do
if [[ "${args[i]}" == "--tokenizer" && $((i+1)) -lt ${#args[@]} ]]; then
tokenizer_dir="${args[i+1]}"
break
elif [[ "${args[i]}" == --tokenizer=* ]]; then
tokenizer_dir="${args[i]#--tokenizer=}"
break
fi
done
if [[ -n "$tokenizer_dir" && -d "$tokenizer_dir" ]]; then
prepared="$(python3 /opt/modelhub/engine_compat.py "$model_dir" "$tokenizer_dir")"
else
prepared="$(python3 /opt/modelhub/engine_compat.py "$model_dir")"
tokenizer_dir=""
fi
if [[ -z "$prepared" ]]; then
exec "$vllm_real" serve "$model_dir" "$@"
exec "$vllm_real" serve "$model_dir" "${args[@]}"
fi
args=("$@")
effective_model="$prepared"
if [[ -n "$tokenizer_dir" && "$(readlink -f "$tokenizer_dir")" != "$(readlink -f "$model_dir")" ]]; then
# A vendor entrypoint's --tokenizer points at a copied tokenizer tree.
# Keep model weights at the original path; redirect only that tokenizer.
effective_model="$model_dir"
fi
for ((i=0; i<${#args[@]}; i++)); do
if [[ "${args[i]}" == "--tokenizer" && $((i+1)) -lt ${#args[@]} && "${args[i+1]}" == "$model_dir" ]]; then
if [[ "${args[i]}" == "--tokenizer" && $((i+1)) -lt ${#args[@]} && "${args[i+1]}" == "$tokenizer_dir" ]]; then
args[i+1]="$prepared"
elif [[ "${args[i]}" == "--tokenizer=$model_dir" ]]; then
elif [[ "${args[i]}" == "--tokenizer=$tokenizer_dir" && -n "$tokenizer_dir" ]]; then
args[i]="--tokenizer=$prepared"
fi
done
exec "$vllm_real" serve "$prepared" "${args[@]}"
exec "$vllm_real" serve "$effective_model" "${args[@]}"