vllm-mlx 서버 백그라운드 실행 및 멀티모달 고정
- 서버를 백그라운드로 실행 (로그는 vllm-mlx.log에 저장) - 모드 선택 제거, 멀티모달(--mllm) 고정 - 서버 준비 대기 로직 추가 - stop-mlx.sh에서 로그 파일 정리 추가 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
fe00782db1
commit
b9e448af0d
82
setup-mlx.sh
82
setup-mlx.sh
@ -11,6 +11,9 @@ PROJECT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
|||||||
MODEL="mlx-community/Qwen3.5-35B-A3B-4bit"
|
MODEL="mlx-community/Qwen3.5-35B-A3B-4bit"
|
||||||
PORT=8090
|
PORT=8090
|
||||||
WEBUI_PORT=3000
|
WEBUI_PORT=3000
|
||||||
|
MAX_TOKENS=8192
|
||||||
|
TEMPERATURE=0.7
|
||||||
|
TOP_P=0.9
|
||||||
|
|
||||||
echo "============================================"
|
echo "============================================"
|
||||||
echo " Qwen3.5 + Open WebUI (vllm-mlx) 셋업"
|
echo " Qwen3.5 + Open WebUI (vllm-mlx) 셋업"
|
||||||
@ -191,29 +194,74 @@ echo " ✓ Open WebUI 실행 중 (http://localhost:${WEBUI_PORT})"
|
|||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
|
|
||||||
|
MLLM_FLAG="--mllm"
|
||||||
|
|
||||||
#--------------------------------------------------------------------
|
#--------------------------------------------------------------------
|
||||||
# 6. 완료
|
# 6. vllm-mlx 서버 시작
|
||||||
#--------------------------------------------------------------------
|
#--------------------------------------------------------------------
|
||||||
echo "[6/6] 셋업 완료!"
|
LOG_FILE="$PROJECT_DIR/vllm-mlx.log"
|
||||||
|
|
||||||
|
echo "[6/6] vllm-mlx 서버 시작 (백그라운드)..."
|
||||||
|
echo ""
|
||||||
|
echo " 모델: $MODEL"
|
||||||
|
echo " 포트: $PORT"
|
||||||
|
echo " max_tokens: $MAX_TOKENS"
|
||||||
|
echo " temperature: $TEMPERATURE"
|
||||||
|
echo " top_p: $TOP_P"
|
||||||
|
echo " 모드: 멀티모달 (이미지 + 텍스트)"
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
# 백그라운드 실행, 로그는 파일로
|
||||||
|
nohup vllm-mlx serve "$MODEL" \
|
||||||
|
--port "$PORT" \
|
||||||
|
--max-tokens "$MAX_TOKENS" \
|
||||||
|
--default-temperature "$TEMPERATURE" \
|
||||||
|
--default-top-p "$TOP_P" \
|
||||||
|
--timeout 600 \
|
||||||
|
$MLLM_FLAG > "$LOG_FILE" 2>&1 &
|
||||||
|
|
||||||
|
SERVER_PID=$!
|
||||||
|
echo " 서버 PID: $SERVER_PID"
|
||||||
|
echo " 로그 파일: $LOG_FILE"
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
# 서버가 뜰 때까지 대기 (최대 120초, 첫 실행 시 모델 다운로드 포함)
|
||||||
|
echo " 서버 준비 대기 중... (첫 실행 시 모델 다운로드 ~20GB)"
|
||||||
|
for i in $(seq 1 120); do
|
||||||
|
if curl -s http://localhost:$PORT/v1/models > /dev/null 2>&1; then
|
||||||
|
echo ""
|
||||||
|
echo " ✓ 서버 준비 완료!"
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
# 프로세스가 죽었는지 확인
|
||||||
|
if ! kill -0 $SERVER_PID 2>/dev/null; then
|
||||||
|
echo ""
|
||||||
|
echo " ❌ 서버 시작 실패. 로그를 확인하세요:"
|
||||||
|
echo " tail -50 $LOG_FILE"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
printf "."
|
||||||
|
sleep 1
|
||||||
|
done
|
||||||
|
|
||||||
|
# 120초 후에도 안 되면 안내
|
||||||
|
if ! curl -s http://localhost:$PORT/v1/models > /dev/null 2>&1; then
|
||||||
|
echo ""
|
||||||
|
echo " ⚠️ 서버가 아직 준비 중입니다. (모델 다운로드 중일 수 있음)"
|
||||||
|
echo " 로그 확인: tail -f $LOG_FILE"
|
||||||
|
echo " 준비되면 http://localhost:${WEBUI_PORT} 접속"
|
||||||
|
else
|
||||||
|
echo ""
|
||||||
|
fi
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
echo "============================================"
|
echo "============================================"
|
||||||
echo " 다음 단계: 서버를 시작하세요"
|
echo " 셋업 완료!"
|
||||||
echo "============================================"
|
echo "============================================"
|
||||||
echo ""
|
echo ""
|
||||||
echo " # 텍스트 전용:"
|
echo " 브라우저: http://localhost:${WEBUI_PORT}"
|
||||||
echo " source $VENV_DIR/bin/activate"
|
|
||||||
echo " vllm-mlx serve $MODEL \\"
|
|
||||||
echo " --port $PORT --max-tokens 8192 \\"
|
|
||||||
echo " --default-temperature 0.7 --default-top-p 0.9"
|
|
||||||
echo ""
|
|
||||||
echo " # 텍스트 + 이미지 (멀티모달):"
|
|
||||||
echo " source $VENV_DIR/bin/activate"
|
|
||||||
echo " vllm-mlx serve $MODEL \\"
|
|
||||||
echo " --port $PORT --max-tokens 8192 \\"
|
|
||||||
echo " --default-temperature 0.7 --default-top-p 0.9 --mllm"
|
|
||||||
echo ""
|
|
||||||
echo " 서버 시작 후 브라우저에서 http://localhost:${WEBUI_PORT} 접속"
|
|
||||||
echo " (첫 접속 시 회원가입 → 첫 계정이 admin)"
|
echo " (첫 접속 시 회원가입 → 첫 계정이 admin)"
|
||||||
echo ""
|
echo ""
|
||||||
echo " 종료하려면: ./stop-mlx.sh"
|
echo " 로그 확인: tail -f $LOG_FILE"
|
||||||
|
echo " 종료: ./stop-mlx.sh"
|
||||||
echo "============================================"
|
echo "============================================"
|
||||||
|
|||||||
10
stop-mlx.sh
10
stop-mlx.sh
@ -30,8 +30,12 @@ else
|
|||||||
echo " - vllm-mlx 서버 없음 (이미 종료됨)"
|
echo " - vllm-mlx 서버 없음 (이미 종료됨)"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# 로그 파일 정리
|
||||||
|
if [ -f "$PROJECT_DIR/vllm-mlx.log" ]; then
|
||||||
|
rm "$PROJECT_DIR/vllm-mlx.log"
|
||||||
|
echo " ✓ 로그 파일 정리"
|
||||||
|
fi
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
echo " 완료. 재시작하려면:"
|
echo " 완료. 재시작하려면: ./setup-mlx.sh"
|
||||||
echo " 1. ./setup-mlx.sh"
|
|
||||||
echo " 2. 서버 시작 (setup 완료 시 안내되는 명령어 참고)"
|
|
||||||
echo ""
|
echo ""
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user