build_vlm.sh 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. #!/usr/bin/env bash
  2. device_type='gpu'
  3. backend='vllm'
  4. build_for_offline='false'
  5. paddleocr_version='>=3.3.2,<3.4'
  6. tag_suffix='latest'
  7. while [[ $# -gt 0 ]]; do
  8. case $1 in
  9. --device-type)
  10. [ -z "$2" ] && {
  11. echo "`--device-type` requires a value" >&2
  12. exit 2
  13. }
  14. device_type="$2"
  15. shift
  16. shift
  17. case "${device_type}" in
  18. gpu|gpu-sm120|dcu|xpu|metax-gpu)
  19. ;;
  20. *)
  21. echo "Unknown device type: ${device_type}" >&2
  22. exit 2
  23. ;;
  24. esac
  25. ;;
  26. --backend)
  27. [ -z "$2" ] && {
  28. echo "`--backend` requires a value" >&2
  29. exit 2
  30. }
  31. backend="$2"
  32. shift 2
  33. case "${backend}" in
  34. vllm|fastdeploy)
  35. ;;
  36. *)
  37. echo "Unknown backend: ${backend}" >&2
  38. exit 2
  39. ;;
  40. esac
  41. ;;
  42. --offline)
  43. build_for_offline='true'
  44. shift
  45. ;;
  46. --ppocr-version)
  47. [ -z "$2" ] && {
  48. echo "`--ppocr-version` requires a value" >&2
  49. exit 2
  50. }
  51. paddleocr_version="==$2"
  52. shift
  53. shift
  54. ;;
  55. --tag-suffix)
  56. [ -z "$2" ] && {
  57. echo "`--tag-suffix` requires a value" >&2
  58. exit 2
  59. }
  60. tag_suffix="$2"
  61. shift
  62. shift
  63. ;;
  64. *)
  65. echo "Unknown option: $1" >&2
  66. exit 2
  67. ;;
  68. esac
  69. done
  70. if [ "${device_type}" != 'gpu' ]; then
  71. tag_suffix="${tag_suffix}-${device_type}"
  72. fi
  73. if [ "${build_for_offline}" = 'true' ]; then
  74. tag_suffix="${tag_suffix}-offline"
  75. fi
  76. dockerfile="accelerators/${device_type}/vlm.Dockerfile"
  77. docker build \
  78. -f "${dockerfile}" \
  79. -t "ccr-2vdh3abv-pub.cnc.bj.baidubce.com/paddlepaddle/paddleocr-genai-${backend}-server:${tag_suffix}" \
  80. --build-arg BUILD_FOR_OFFLINE="${build_for_offline}" \
  81. --build-arg PADDLEOCR_VERSION="${paddleocr_version}" \
  82. --build-arg BACKEND="${backend}" \
  83. --build-arg http_proxy="${http_proxy}" \
  84. --build-arg https_proxy="${https_proxy}" \
  85. --build-arg no_proxy="${no_proxy}" \
  86. .