@@ -5,30 +5,34 @@ bash /usr/local/bin/bash_telemetry.sh >/dev/null 2>&1 || true
55
66echo " Starting server"
77
8- SERVER_ARGS=" --host 0.0.0.0 --port 8080"
8+ PREFIX=" SM_SGLANG_"
9+ ARG_PREFIX=" --"
910
10- if [ -n " $TENSOR_PARALLEL_DEGREE " ]; then
11- SERVER_ARGS=" ${SERVER_ARGS} --tp-size ${TENSOR_PARALLEL_DEGREE} "
12- fi
11+ ARGS=()
1312
14- if [ -n " $DATA_PARALLEL_DEGREE " ]; then
15- SERVER_ARGS=" ${SERVER_ARGS} --dp-size ${DATA_PARALLEL_DEGREE} "
16- fi
13+ while IFS=' =' read -r key value; do
14+ arg_name=$( echo " ${key# " ${PREFIX} " } " | tr ' [:upper:]' ' [:lower:]' | tr ' _' ' -' )
1715
18- if [ -n " $EXPERT_PARALLEL_DEGREE " ]; then
19- SERVER_ARGS=" ${SERVER_ARGS} --ep-size ${EXPERT_PARALLEL_DEGREE} "
20- fi
16+ ARGS+=(" ${ARG_PREFIX}${arg_name} " )
17+ if [ -n " $value " ]; then
18+ ARGS+=(" $value " )
19+ fi
20+ done < <( env | grep " ^${PREFIX} " )
2121
22- if [ -n " $MEM_FRACTION_STATIC " ]; then
23- SERVER_ARGS=" ${SERVER_ARGS} --mem-fraction-static ${MEM_FRACTION_STATIC} "
22+ # Add default port only if not already set
23+ if ! [[ " ${ARGS[@]} " =~ " --port " ]]; then
24+ ARGS+=(--port " ${SM_SGLANG_PORT:- 8080} " )
2425fi
2526
26- if [ -n " $QUANTIZATION " ]; then
27- SERVER_ARGS=" ${SERVER_ARGS} --quantization ${QUANTIZATION} "
27+ # Add default host only if not already set
28+ if ! [[ " ${ARGS[@]} " =~ " --host " ]]; then
29+ ARGS+=(--host " ${SM_SGLANG_HOST:- 0.0.0.0} " )
2830fi
2931
30- if [ -n " $CHUNKED_PREFILL_SIZE " ]; then
31- SERVER_ARGS=" ${SERVER_ARGS} --chunked-prefill-size ${CHUNKED_PREFILL_SIZE} "
32+ # Add default model-path only if not already set
33+ if ! [[ " ${ARGS[@]} " =~ " --model-path " ]]; then
34+ ARGS+=(--model-path " ${SM_SGLANG_MODEL_PATH:-/ opt/ ml/ model} " )
3235fi
3336
34- python3 -m sglang.launch_server --model-path /opt/ml/model $SERVER_ARGS
37+ echo " Running command: exec python3 -m sglang.launch_server ${ARGS[@]} "
38+ exec python3 -m sglang.launch_server " ${ARGS[@]} "
0 commit comments