vllm_daemon.sh 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. #!/bin/bash
  2. LOGDIR="/home/ubuntu/zhch/logs"
  3. mkdir -p $LOGDIR
  4. PIDFILE="$LOGDIR/vllm.pid"
  5. LOGFILE="$LOGDIR/vllm.log"
  6. conda activate py312
  7. hf_model_path="/home/ubuntu/zhch/dots.ocr/weights/DotsOCR" # Path to your downloaded model weights
  8. export PYTHONPATH=$(dirname "$hf_model_path"):$PYTHONPATH
  9. # launch vllm server
  10. model_name="DotsOCR"
  11. start() {
  12. if [ -f $PIDFILE ] && kill -0 $(cat $PIDFILE) 2>/dev/null; then
  13. echo "vLLM is already running"
  14. return 1
  15. fi
  16. echo "Starting vLLM daemon..."
  17. nohup vllm serve $hf_model_path \
  18. --host 0.0.0.0 \
  19. --port 8101 \
  20. --gpu-memory-utilization 0.90 \
  21. --max-log-len 1000 \
  22. --trust-remote-code \
  23. --max-model-len 65536 \
  24. --max-num-batched-tokens 65536 \
  25. --uvicorn-log-level info \
  26. --limit-mm-per-prompt '{"image": 5}' \
  27. --chat-template-content-format string \
  28. --data-parallel-size 3 \
  29. --max-num-seqs 32 \
  30. --enable-prefix-caching \
  31. --served-model-name ${model_name} \
  32. > $LOGFILE 2>&1 &
  33. echo $! > $PIDFILE
  34. echo "vLLM started with PID: $(cat $PIDFILE)"
  35. }
  36. stop() {
  37. if [ ! -f $PIDFILE ]; then
  38. echo "vLLM is not running"
  39. return 1
  40. fi
  41. PID=$(cat $PIDFILE)
  42. echo "Stopping vLLM (PID: $PID)..."
  43. kill $PID
  44. rm -f $PIDFILE
  45. echo "vLLM stopped"
  46. }
  47. status() {
  48. if [ -f $PIDFILE ] && kill -0 $(cat $PIDFILE) 2>/dev/null; then
  49. echo "vLLM is running (PID: $(cat $PIDFILE))"
  50. else
  51. echo "vLLM is not running"
  52. fi
  53. }
  54. case "$1" in
  55. start)
  56. start
  57. ;;
  58. stop)
  59. stop
  60. ;;
  61. restart)
  62. stop
  63. sleep 2
  64. start
  65. ;;
  66. status)
  67. status
  68. ;;
  69. *)
  70. echo "Usage: $0 {start|stop|restart|status}"
  71. exit 1
  72. ;;
  73. esac