Pārlūkot izejas kodu

Update high-performance serving solution (#4458)

* Update for paddlex 3.2

* Install paddlex from source
Lin Manhui 3 mēneši atpakaļ
vecāks
revīzija
c857332f0d
31 mainītis faili ar 270 papildinājumiem un 282 dzēšanām
  1. 5 5
      deploy/hps/sdk/pipelines/OCR/server/pipeline_config.yaml
  2. 1 1
      deploy/hps/sdk/pipelines/PP-ChatOCRv4-doc/server/pipeline_config.yaml
  3. 3 3
      deploy/hps/sdk/pipelines/PP-DocTranslation/server/pipeline_config.yaml
  4. 5 5
      deploy/hps/sdk/pipelines/PP-StructureV3/server/pipeline_config.yaml
  5. 3 1
      deploy/hps/sdk/scripts/_assemble.sh
  6. 5 0
      deploy/hps/sdk/scripts/sync_configs.sh
  7. 33 37
      deploy/hps/server_env/Dockerfile
  8. 1 1
      deploy/hps/server_env/cpu_version.txt
  9. 1 1
      deploy/hps/server_env/gpu_version.txt
  10. 1 1
      deploy/hps/server_env/paddlex-hps-server/pyproject.toml
  11. 0 1
      deploy/hps/server_env/paddlex_version.txt
  12. 0 1
      deploy/hps/server_env/requirements/app.in
  13. 1 1
      deploy/hps/server_env/requirements/cpu.in
  14. 59 67
      deploy/hps/server_env/requirements/cpu.txt
  15. 1 1
      deploy/hps/server_env/requirements/cpu_dev.txt
  16. 1 1
      deploy/hps/server_env/requirements/cpu_hpi.in
  17. 1 1
      deploy/hps/server_env/requirements/cpu_hpi.txt
  18. 1 1
      deploy/hps/server_env/requirements/gpu.in
  19. 64 71
      deploy/hps/server_env/requirements/gpu.txt
  20. 1 1
      deploy/hps/server_env/requirements/gpu_dev.txt
  21. 1 1
      deploy/hps/server_env/requirements/gpu_hpi.in
  22. 1 1
      deploy/hps/server_env/requirements/gpu_hpi.txt
  23. 3 1
      deploy/hps/server_env/scripts/_freeze_requirements.sh
  24. 1 1
      deploy/hps/server_env/scripts/build_deployment_image.sh
  25. 2 2
      deploy/hps/server_env/scripts/freeze_requirements.sh
  26. 1 1
      deploy/hps/server_env/scripts/prepare_deployment_images.sh
  27. 2 2
      deploy/hps/server_env/scripts/remove_images.sh
  28. 2 2
      deploy/hps/server_env/scripts/tag_and_push_images.sh
  29. 35 35
      docs/pipeline_deploy/serving.en.md
  30. 34 34
      docs/pipeline_deploy/serving.md
  31. 1 1
      paddlex/.version

+ 5 - 5
deploy/hps/sdk/pipelines/OCR/server/pipeline_config.yaml

@@ -24,22 +24,22 @@ SubPipelines:
 SubModules:
   TextDetection:
     module_name: text_detection
-    model_name: PP-OCRv4_mobile_det
+    model_name: PP-OCRv5_server_det
     model_dir: null
-    limit_side_len: 960
-    limit_type: max
+    limit_side_len: 64
+    limit_type: min
     max_side_limit: 4000
     thresh: 0.3
     box_thresh: 0.6
     unclip_ratio: 1.5
   TextLineOrientation:
     module_name: textline_orientation
-    model_name: PP-LCNet_x0_25_textline_ori 
+    model_name: PP-LCNet_x1_0_textline_ori 
     model_dir: null
     batch_size: 6    
   TextRecognition:
     module_name: text_recognition
-    model_name: PP-OCRv4_mobile_rec 
+    model_name: PP-OCRv5_server_rec 
     model_dir: null
     batch_size: 6
     score_thresh: 0.0

+ 1 - 1
deploy/hps/sdk/pipelines/PP-ChatOCRv4-doc/server/pipeline_config.yaml

@@ -191,7 +191,7 @@ SubPipelines:
             unclip_ratio: 1.5
           TextLineOrientation:
             module_name: textline_orientation
-            model_name: PP-LCNet_x0_25_textline_ori 
+            model_name: PP-LCNet_x1_0_textline_ori 
             model_dir: null
             batch_size: 6   
           TextRecognition:

+ 3 - 3
deploy/hps/sdk/pipelines/PP-DocTranslation/server/pipeline_config.yaml

@@ -38,11 +38,11 @@ SubPipelines:
 
     batch_size: 8
 
-    use_doc_preprocessor: True
-    use_seal_recognition: True
+    use_doc_preprocessor: False
+    use_seal_recognition: False
     use_table_recognition: True
     use_formula_recognition: True
-    use_chart_recognition: True
+    use_chart_recognition: False
     use_region_detection: True
 
     SubModules:

+ 5 - 5
deploy/hps/sdk/pipelines/PP-StructureV3/server/pipeline_config.yaml

@@ -3,11 +3,11 @@ pipeline_name: PP-StructureV3
 
 batch_size: 8
 
-use_doc_preprocessor: True
-use_seal_recognition: True
+use_doc_preprocessor: False
+use_seal_recognition: False
 use_table_recognition: True
 use_formula_recognition: True
-use_chart_recognition: True
+use_chart_recognition: False
 use_region_detection: True
 
 SubModules:
@@ -108,7 +108,7 @@ SubPipelines:
         unclip_ratio: 1.5
       TextLineOrientation:
         module_name: textline_orientation
-        model_name: PP-LCNet_x0_25_textline_ori
+        model_name: PP-LCNet_x1_0_textline_ori
         model_dir: null
         batch_size: 8
       TextRecognition:
@@ -173,7 +173,7 @@ SubPipelines:
             unclip_ratio: 1.5
           TextLineOrientation:
             module_name: textline_orientation
-            model_name: PP-LCNet_x0_25_textline_ori
+            model_name: PP-LCNet_x1_0_textline_ori
             model_dir: null
             batch_size: 8
           TextRecognition:

+ 3 - 1
deploy/hps/sdk/scripts/_assemble.sh

@@ -3,4 +3,6 @@
 python scripts/assemble.py "$@"
 
 # TODO: Better way to handle the permission problem
-chown -R "${OUID}":"${OGID}" output
+if [ -d output ]; then
+    chown -R "${OUID}":"${OGID}" output
+fi

+ 5 - 0
deploy/hps/sdk/scripts/sync_configs.sh

@@ -0,0 +1,5 @@
+#!/usr/bin/env bash
+
+for file in ../../../paddlex/configs/pipelines/*.yaml; do
+    cp "${file}" "pipelines/$(basename ${file%.yaml})/server/pipeline_config.yaml"
+done

+ 33 - 37
deploy/hps/server_env/Dockerfile

@@ -8,6 +8,7 @@ ARG DEVICE_TYPE=gpu
 ARG ENV_TYPE=prod
 ARG PIP_INDEX_URL=https://pypi.org/simple
 
+
 # GPU base
 # nvcr.io/nvidia/cuda:11.8.0-devel-ubuntu20.04
 # We use the `devel` version because the CUDA toolchain is needed for JIT.
@@ -15,10 +16,12 @@ ARG PIP_INDEX_URL=https://pypi.org/simple
 # libraries that are not required?
 FROM nvcr.io/nvidia/cuda@sha256:03681bbd11fea044ff3e3a5d65e190a6f935af30c56e03e740b27e4563f61e0f AS gpu-base
 
+
 # CPU base
 # ubuntu:20.04
 FROM ubuntu:20.04@sha256:8feb4d8ca5354def3d8fce243717141ce31e2c428701f6682bd2fafe15388214 AS cpu-base
 
+
 # Base
 FROM ${DEVICE_TYPE}-base AS base
 
@@ -54,66 +57,57 @@ RUN python -m pip install pip-tools==7.4.1
 
 
 # Build stage 1
-# Can we use another base image?
-FROM base AS gpu-build1
-ARG DEVICE_TYPE=gpu
+FROM base AS build1
 
 RUN apt-get update \
     && apt-get install -y --no-install-recommends wget unzip \
     && rm -rf /var/lib/apt/lists/*
 
-RUN mkdir -p /paddlex/libs /paddlex/tensorrt
+RUN mkdir -p /paddlex/libs 
+
+
+# Build stage 2 for GPU
+FROM build1 AS gpu-build2
+
+RUN mkdir -p /paddlex/tensorrt
 
-RUN --mount=type=bind,source=./cudnn-linux-x86_64-8.9.7.29_cuda11-archive.tar.xz,target=/tmp/cudnn-linux-x86_64-8.9.7.29_cuda11-archive.tar.xz \
+RUN --mount=type=bind,source=deploy/hps/server_env/cudnn-linux-x86_64-8.9.7.29_cuda11-archive.tar.xz,target=/tmp/cudnn-linux-x86_64-8.9.7.29_cuda11-archive.tar.xz \
     tar -xf /tmp/cudnn-linux-x86_64-8.9.7.29_cuda11-archive.tar.xz -C /paddlex \
     && mv /paddlex/cudnn-linux-x86_64-8.9.7.29_cuda11-archive/lib/* /paddlex/libs/
 
-RUN --mount=type=bind,source=./TensorRT-8.6.1.6.Linux.x86_64-gnu.cuda-11.8.tar.gz,target=/tmp/TensorRT-8.6.1.6.Linux.x86_64-gnu.cuda-11.8.tar.gz \
+RUN --mount=type=bind,source=deploy/hps/server_env/TensorRT-8.6.1.6.Linux.x86_64-gnu.cuda-11.8.tar.gz,target=/tmp/TensorRT-8.6.1.6.Linux.x86_64-gnu.cuda-11.8.tar.gz \
     tar -xf /tmp/TensorRT-8.6.1.6.Linux.x86_64-gnu.cuda-11.8.tar.gz -C /paddlex \
     && mv /paddlex/TensorRT-8.6.1.6 /paddlex/tensorrt \
     && rm -rf /paddlex/tensorrt/data /paddlex/tensorrt/doc /paddlex/tensorrt/python /paddlex/tensorrt/samples
 
-RUN wget -P /paddlex "https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/deps/tritonserver/tritonserver-2.15.0-${DEVICE_TYPE}.zip" \
-    && unzip "/paddlex/tritonserver-2.15.0-${DEVICE_TYPE}.zip" -d /paddlex \
-    && mv "/paddlex/tritonserver-2.15.0-${DEVICE_TYPE}" /paddlex/tritonserver \
-    && rm "/paddlex/tritonserver-2.15.0-${DEVICE_TYPE}.zip"
-
-COPY ./paddlex-hps-server /paddlex/paddlex_hps_libs/paddlex-hps-server
-RUN python -m pip wheel -w /paddlex/paddlex_hps_wheels --no-deps /paddlex/paddlex_hps_libs/paddlex-hps-server
 
-# Build Stage for CPU
-FROM base AS cpu-build1
-ARG DEVICE_TYPE=cpu
+# Build Stage 2 for CPU
+FROM build1 AS cpu-build2
 
-RUN apt-get update \
-    && apt-get install -y --no-install-recommends wget unzip \
-    && rm -rf /var/lib/apt/lists/*
 
-RUN mkdir -p /paddlex/libs
+# Build Stage 3
+FROM ${DEVICE_TYPE}-build2 AS build3
+ARG DEVICE_TYPE
+ARG ENV_TYPE
 
 RUN wget -P /paddlex "https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/deps/tritonserver/tritonserver-2.15.0-${DEVICE_TYPE}.zip" \
     && unzip "/paddlex/tritonserver-2.15.0-${DEVICE_TYPE}.zip" -d /paddlex \
     && mv "/paddlex/tritonserver-2.15.0-${DEVICE_TYPE}" /paddlex/tritonserver \
     && rm "/paddlex/tritonserver-2.15.0-${DEVICE_TYPE}.zip"
 
-COPY ./paddlex-hps-server /paddlex/paddlex_hps_libs/paddlex-hps-server
-RUN python -m pip wheel -w /paddlex/paddlex_hps_wheels --no-deps /paddlex/paddlex_hps_libs/paddlex-hps-server
-
-
-
-FROM ${DEVICE_TYPE}-build1 AS build2
-ARG DEVICE_TYPE
-ARG ENV_TYPE
-
-RUN --mount=type=bind,source=requirements/${DEVICE_TYPE}.txt,target=/tmp/requirements.txt \
-    --mount=type=bind,source=requirements/${DEVICE_TYPE}_hpi.txt,target=/tmp/hpi_requirements.txt \
-    --mount=type=bind,source=requirements/${DEVICE_TYPE}_dev.txt,target=/tmp/dev_requirements.txt \
+RUN --mount=type=bind,source=deploy/hps/server_env/requirements/${DEVICE_TYPE}.txt,target=/tmp/requirements.txt \
+    --mount=type=bind,source=deploy/hps/server_env/requirements/${DEVICE_TYPE}_hpi.txt,target=/tmp/hpi_requirements.txt \
+    --mount=type=bind,source=deploy/hps/server_env/requirements/${DEVICE_TYPE}_dev.txt,target=/tmp/dev_requirements.txt \
     python -m pip install --requirement /tmp/requirements.txt --requirement /tmp/hpi_requirements.txt \
     && if [ "${ENV_TYPE}" = 'dev' ]; then \
         python -m pip install --requirement /tmp/dev_requirements.txt; \
     fi
 
-RUN python -m pip install --no-deps /paddlex/paddlex_hps_wheels/*.whl
+RUN --mount=type=bind,source=.,target=/tmp/PaddleX,rw \
+    python -m pip install --no-deps /tmp/PaddleX
+RUN --mount=type=bind,source=deploy/hps/server_env/paddlex-hps-server,target=/tmp/paddlex-hps-server,rw \
+    python -m pip install --no-deps /tmp/paddlex-hps-server
+
 
 # GPU Deployment
 FROM base AS gpu-deployment
@@ -122,7 +116,7 @@ RUN apt-get update \
     && apt-get install -y --no-install-recommends datacenter-gpu-manager \
     && rm -rf /var/lib/apt/lists/*
 
-COPY --from=build2 --chown=paddlex:paddlex /paddlex/tensorrt /paddlex/tensorrt
+COPY --from=build3 --chown=paddlex:paddlex /paddlex/tensorrt /paddlex/tensorrt
 ENV LD_LIBRARY_PATH="/paddlex/tensorrt/lib:${LD_LIBRARY_PATH}"
 
 RUN mkdir /paddlex/libs
@@ -132,9 +126,11 @@ RUN ln -s /usr/local/cuda-11.8/targets/x86_64-linux/lib/libcublas.so.11 /paddlex
     && ln -s /usr/local/cuda-11.8/targets/x86_64-linux/lib/libcusolver.so.11 /paddlex/libs/libcusolver.so \
     && ln -s /usr/local/cuda-11.8/targets/x86_64-linux/lib/libcusparse.so.11 /paddlex/libs/libcusparse.so
 
+
 # CPU Deployment
 FROM base AS cpu-deployment
 
+
 # Deployment
 FROM ${DEVICE_TYPE}-deployment AS deployment
 
@@ -147,16 +143,16 @@ RUN apt-get update \
     && apt-get install -y --no-install-recommends libre2-5 libssl1.1 libb64-0d libnuma1 libarchive13 python3.10-dev libgl1-mesa-glx libglib2.0-0 libgomp1 ccache binutils build-essential texlive texlive-latex-base texlive-latex-extra \
     && rm -rf /var/lib/apt/lists/*
 
-COPY --from=build2 --chown=paddlex:paddlex /paddlex/libs /paddlex/libs
+COPY --from=build3 --chown=paddlex:paddlex /paddlex/libs /paddlex/libs
 
 # Should I use `ldconfig`?
 ENV LD_LIBRARY_PATH="/paddlex/libs:${LD_LIBRARY_PATH}"
 
-COPY --from=build2 --chown=paddlex:paddlex /paddlex/tritonserver /opt/tritonserver
+COPY --from=build3 --chown=paddlex:paddlex /paddlex/tritonserver /opt/tritonserver
 ENV PATH="/opt/tritonserver/bin:${PATH}"
 
 # Is the merging safe?
-COPY --from=build2 --chown=paddlex:paddlex /paddlex/py310 /paddlex/py310
+COPY --from=build3 --chown=paddlex:paddlex /paddlex/py310 /paddlex/py310
 
 RUN mkdir /paddlex/var \
     && chown paddlex:paddlex /paddlex/var

+ 1 - 1
deploy/hps/server_env/cpu_version.txt

@@ -1 +1 @@
-0.3.6
+0.3.7

+ 1 - 1
deploy/hps/server_env/gpu_version.txt

@@ -1 +1 @@
-0.3.7
+0.3.8

+ 1 - 1
deploy/hps/server_env/paddlex-hps-server/pyproject.toml

@@ -5,9 +5,9 @@ build-backend = "setuptools.build_meta"
 [project]
 name = "paddlex-hps-server"
 version = "0.2.2"
+# `paddlex` is not included here
 dependencies = [
     "colorlog >= 6.9",
-    "paddlex [base, serving] >= 3.0.1",
     "pydantic >= 2",
 ]
 

+ 0 - 1
deploy/hps/server_env/paddlex_version.txt

@@ -1 +0,0 @@
-3.1

+ 0 - 1
deploy/hps/server_env/requirements/app.in

@@ -2,7 +2,6 @@ faiss-cpu >= 1.8
 numpy >= 1.24
 # HACK: For compatibility with `paddlex`
 opencv-contrib-python == 4.10.0.84
-paddlex [base] == 3.1.3
 pycocotools >= 2
 pydantic >= 2
 typing-extensions >= 4.11

+ 1 - 1
deploy/hps/server_env/requirements/cpu.in

@@ -1 +1 @@
-paddlepaddle @ https://paddle-whl.bj.bcebos.com/stable/cpu/paddlepaddle/paddlepaddle-3.0.0-cp310-cp310-linux_x86_64.whl
+paddlepaddle @ https://paddle-whl.bj.bcebos.com/stable/cpu/paddlepaddle/paddlepaddle-3.1.1-cp310-cp310-linux_x86_64.whl

+ 59 - 67
deploy/hps/server_env/requirements/cpu.txt

@@ -2,7 +2,7 @@
 # This file is autogenerated by pip-compile with Python 3.10
 # by the following command:
 #
-#    pip-compile --allow-unsafe --no-emit-index-url --no-emit-trusted-host --output-file=requirements/cpu.txt --strip-extras  libs/paddlex-hps-server/pyproject.toml requirements/app.in requirements/cpu.in
+#    pip-compile --allow-unsafe --extra=base --extra=serving --no-emit-index-url --no-emit-trusted-host --output-file=requirements/cpu.txt --strip-extras ../../../setup.py paddlex-hps-server/pyproject.toml requirements/app.in requirements/cpu.in
 #
 aiohappyeyeballs==2.4.6
     # via aiohttp
@@ -10,7 +10,7 @@ aiohttp==3.11.12
     # via
     #   langchain
     #   langchain-community
-    #   paddlex
+    #   paddlex (../../../setup.py)
 aiosignal==1.3.2
     # via aiohttp
 annotated-types==0.7.0
@@ -20,8 +20,6 @@ anyio==4.8.0
     #   httpx
     #   openai
     #   starlette
-astor==0.8.1
-    # via paddlepaddle
 async-timeout==4.0.3
     # via
     #   aiohttp
@@ -29,9 +27,9 @@ async-timeout==4.0.3
 attrs==25.1.0
     # via aiohttp
 bce-python-sdk==0.9.29
-    # via paddlex
+    # via paddlex (../../../setup.py)
 beautifulsoup4==4.13.4
-    # via paddlex
+    # via paddlex (../../../setup.py)
 cachetools==5.5.2
     # via premailer
 certifi==2025.1.31
@@ -42,17 +40,17 @@ certifi==2025.1.31
 cffi==1.17.1
     # via soundfile
 chardet==5.2.0
-    # via paddlex
+    # via paddlex (../../../setup.py)
 charset-normalizer==3.4.1
     # via requests
 chinese-calendar==1.10.0
-    # via paddlex
+    # via paddlex (../../../setup.py)
 click==8.1.8
     # via uvicorn
 colorlog==6.9.0
     # via
-    #   paddlex
-    #   paddlex-hps-server (libs/paddlex-hps-server/pyproject.toml)
+    #   paddlex (../../../setup.py)
+    #   paddlex-hps-server (paddlex-hps-server/pyproject.toml)
 cssselect==1.2.0
     # via premailer
 cssutils==2.11.1
@@ -61,14 +59,12 @@ cycler==0.12.1
     # via matplotlib
 dataclasses-json==0.6.7
     # via langchain-community
-decorator==5.2.0
-    # via paddlepaddle
-decord==0.6.0
-    # via paddlex
+decord==0.6.0 ; (platform_machine == "x86_64" or platform_machine == "AMD64") and sys_platform != "darwin"
+    # via paddlex (../../../setup.py)
 distro==1.9.0
     # via openai
 einops==0.8.1
-    # via paddlex
+    # via paddlex (../../../setup.py)
 et-xmlfile==2.0.0
     # via openpyxl
 exceptiongroup==1.2.2
@@ -76,15 +72,15 @@ exceptiongroup==1.2.2
 faiss-cpu==1.8.0.post1
     # via
     #   -r requirements/app.in
-    #   paddlex
+    #   paddlex (../../../setup.py)
 fastapi==0.115.8
-    # via paddlex
+    # via paddlex (../../../setup.py)
 filelock==3.17.0
     # via
     #   huggingface-hub
-    #   paddlex
+    #   paddlex (../../../setup.py)
 filetype==1.2.0
-    # via paddlex
+    # via paddlex (../../../setup.py)
 fonttools==4.56.0
     # via matplotlib
 frozenlist==1.5.0
@@ -94,11 +90,11 @@ frozenlist==1.5.0
 fsspec==2025.2.0
     # via huggingface-hub
 ftfy==6.3.1
-    # via paddlex
+    # via paddlex (../../../setup.py)
 future==1.0.0
     # via bce-python-sdk
 gputil==1.4.0
-    # via paddlex
+    # via paddlex (../../../setup.py)
 greenlet==3.1.1
     # via sqlalchemy
 h11==0.14.0
@@ -114,7 +110,7 @@ httpx==0.28.1
     #   paddlepaddle
 huggingface-hub==0.29.1
     # via
-    #   paddlex
+    #   paddlex (../../../setup.py)
     #   tokenizers
 idna==3.10
     # via
@@ -125,14 +121,14 @@ idna==3.10
 imageio==2.37.0
     # via scikit-image
 imagesize==1.4.1
-    # via paddlex
+    # via paddlex (../../../setup.py)
 jinja2==3.1.5
-    # via paddlex
+    # via paddlex (../../../setup.py)
 jiter==0.8.2
     # via openai
 joblib==1.4.2
     # via
-    #   paddlex
+    #   paddlex (../../../setup.py)
     #   scikit-learn
 jsonpatch==1.33
     # via langchain-core
@@ -143,18 +139,18 @@ kiwisolver==1.4.8
 langchain==0.2.17
     # via
     #   langchain-community
-    #   paddlex
+    #   paddlex (../../../setup.py)
 langchain-community==0.2.17
-    # via paddlex
+    # via paddlex (../../../setup.py)
 langchain-core==0.2.43
     # via
     #   langchain
     #   langchain-community
     #   langchain-openai
     #   langchain-text-splitters
-    #   paddlex
+    #   paddlex (../../../setup.py)
 langchain-openai==0.1.25
-    # via paddlex
+    # via paddlex (../../../setup.py)
 langchain-text-splitters==0.2.4
     # via langchain
 langsmith==0.1.147
@@ -166,7 +162,7 @@ lazy-loader==0.4
     # via scikit-image
 lxml==5.3.1
     # via
-    #   paddlex
+    #   paddlex (../../../setup.py)
     #   premailer
 markupsafe==3.0.2
     # via jinja2
@@ -174,7 +170,7 @@ marshmallow==3.26.1
     # via dataclasses-json
 matplotlib==3.5.2
     # via
-    #   paddlex
+    #   paddlex (../../../setup.py)
     #   pycocotools
 more-itertools==10.6.0
     # via cssutils
@@ -200,7 +196,7 @@ numpy==1.24.4
     #   opencv-contrib-python
     #   opt-einsum
     #   paddlepaddle
-    #   paddlex
+    #   paddlex (../../../setup.py)
     #   pandas
     #   pycocotools
     #   scikit-image
@@ -212,13 +208,13 @@ numpy==1.24.4
 openai==1.63.2
     # via
     #   langchain-openai
-    #   paddlex
+    #   paddlex (../../../setup.py)
 opencv-contrib-python==4.10.0.84
     # via
     #   -r requirements/app.in
-    #   paddlex
+    #   paddlex (../../../setup.py)
 openpyxl==3.1.5
-    # via paddlex
+    # via paddlex (../../../setup.py)
 opt-einsum==3.3.0
     # via paddlepaddle
 orjson==3.10.15
@@ -231,27 +227,23 @@ packaging==24.2
     #   lazy-loader
     #   marshmallow
     #   matplotlib
-    #   paddlex
+    #   paddlex (../../../setup.py)
     #   scikit-image
-paddlepaddle @ https://paddle-whl.bj.bcebos.com/stable/cpu/paddlepaddle/paddlepaddle-3.0.0-cp310-cp310-linux_x86_64.whl
+paddlepaddle @ https://paddle-whl.bj.bcebos.com/stable/cpu/paddlepaddle/paddlepaddle-3.1.1-cp310-cp310-linux_x86_64.whl
     # via -r requirements/cpu.in
-paddlex==3.1.3
-    # via
-    #   -r requirements/app.in
-    #   paddlex-hps-server (libs/paddlex-hps-server/pyproject.toml)
 pandas==1.3.5
-    # via paddlex
+    # via paddlex (../../../setup.py)
 pillow==9.5.0
     # via
     #   imageio
     #   matplotlib
     #   paddlepaddle
-    #   paddlex
+    #   paddlex (../../../setup.py)
     #   scikit-image
 premailer==3.10.0
-    # via paddlex
+    # via paddlex (../../../setup.py)
 prettytable==3.14.0
-    # via paddlex
+    # via paddlex (../../../setup.py)
 propcache==0.3.0
     # via
     #   aiohttp
@@ -259,13 +251,13 @@ propcache==0.3.0
 protobuf==5.29.3
     # via paddlepaddle
 py-cpuinfo==9.0.0
-    # via paddlex
+    # via paddlex (../../../setup.py)
 pyclipper==1.3.0.post6
-    # via paddlex
+    # via paddlex (../../../setup.py)
 pycocotools==2.0.8
     # via
     #   -r requirements/app.in
-    #   paddlex
+    #   paddlex (../../../setup.py)
 pycparser==2.22
     # via cffi
 pycryptodome==3.21.0
@@ -278,14 +270,14 @@ pydantic==2.10.6
     #   langchain-core
     #   langsmith
     #   openai
-    #   paddlex
-    #   paddlex-hps-server (libs/paddlex-hps-server/pyproject.toml)
+    #   paddlex (../../../setup.py)
+    #   paddlex-hps-server (paddlex-hps-server/pyproject.toml)
 pydantic-core==2.27.2
     # via pydantic
 pyparsing==3.2.1
     # via matplotlib
 pypdfium2==4.30.1
-    # via paddlex
+    # via paddlex (../../../setup.py)
 python-dateutil==2.9.0.post0
     # via
     #   matplotlib
@@ -298,10 +290,10 @@ pyyaml==6.0.2
     #   langchain
     #   langchain-community
     #   langchain-core
-    #   paddlex
+    #   paddlex (../../../setup.py)
 regex==2024.11.6
     # via
-    #   paddlex
+    #   paddlex (../../../setup.py)
     #   tiktoken
 requests==2.32.3
     # via
@@ -309,26 +301,26 @@ requests==2.32.3
     #   langchain
     #   langchain-community
     #   langsmith
-    #   paddlex
+    #   paddlex (../../../setup.py)
     #   premailer
     #   requests-toolbelt
     #   tiktoken
 requests-toolbelt==1.0.0
     # via langsmith
 ruamel-yaml==0.18.10
-    # via paddlex
+    # via paddlex (../../../setup.py)
 ruamel-yaml-clib==0.2.12
     # via ruamel-yaml
 scikit-image==0.24.0
-    # via paddlex
+    # via paddlex (../../../setup.py)
 scikit-learn==1.6.1
-    # via paddlex
+    # via paddlex (../../../setup.py)
 scipy==1.15.2
     # via
     #   scikit-image
     #   scikit-learn
 shapely==2.0.7
-    # via paddlex
+    # via paddlex (../../../setup.py)
 six==1.17.0
     # via
     #   bce-python-sdk
@@ -338,7 +330,7 @@ sniffio==1.3.1
     #   anyio
     #   openai
 soundfile==0.13.1
-    # via paddlex
+    # via paddlex (../../../setup.py)
 soupsieve==2.7
     # via beautifulsoup4
 sqlalchemy==2.0.38
@@ -348,7 +340,7 @@ sqlalchemy==2.0.38
 starlette==0.45.3
     # via
     #   fastapi
-    #   paddlex
+    #   paddlex (../../../setup.py)
 tenacity==8.5.0
     # via
     #   langchain
@@ -361,14 +353,14 @@ tifffile==2025.2.18
 tiktoken==0.9.0
     # via
     #   langchain-openai
-    #   paddlex
+    #   paddlex (../../../setup.py)
 tokenizers==0.19.1
-    # via paddlex
+    # via paddlex (../../../setup.py)
 tqdm==4.67.1
     # via
     #   huggingface-hub
     #   openai
-    #   paddlex
+    #   paddlex (../../../setup.py)
 typing-extensions==4.12.2
     # via
     #   -r requirements/app.in
@@ -380,7 +372,7 @@ typing-extensions==4.12.2
     #   multidict
     #   openai
     #   paddlepaddle
-    #   paddlex
+    #   paddlex (../../../setup.py)
     #   pydantic
     #   pydantic-core
     #   sqlalchemy
@@ -389,11 +381,11 @@ typing-extensions==4.12.2
 typing-inspect==0.9.0
     # via dataclasses-json
 ujson==5.10.0
-    # via paddlex
+    # via paddlex (../../../setup.py)
 urllib3==2.3.0
     # via requests
 uvicorn==0.34.0
-    # via paddlex
+    # via paddlex (../../../setup.py)
 wcwidth==0.2.13
     # via
     #   ftfy
@@ -401,4 +393,4 @@ wcwidth==0.2.13
 yarl==1.18.3
     # via
     #   aiohttp
-    #   paddlex
+    #   paddlex (../../../setup.py)

+ 1 - 1
deploy/hps/server_env/requirements/cpu_dev.txt

@@ -2,5 +2,5 @@
 # This file is autogenerated by pip-compile with Python 3.10
 # by the following command:
 #
-#    pip-compile --allow-unsafe --constraint=requirements/cpu.txt --no-emit-index-url --no-emit-trusted-host --output-file=requirements/cpu_dev.txt --strip-extras  requirements/cpu_dev.in
+#    pip-compile --allow-unsafe --constraint=requirements/cpu.txt --no-emit-index-url --no-emit-trusted-host --output-file=requirements/cpu_dev.txt --strip-extras requirements/cpu_dev.in
 #

+ 1 - 1
deploy/hps/server_env/requirements/cpu_hpi.in

@@ -1,3 +1,3 @@
 onnxruntime == 1.22.0
 paddle2onnx == 2.0.2rc3
-ultra-infer-python @ https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/hpi/ultra_infer/releases/new_hpi/v1.1.1/ultra_infer_python-1.1.1-cp310-cp310-linux_x86_64.whl
+ultra-infer-python @ https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/hpi/ultra_infer/releases/new_hpi/v1.2.0/ultra_infer_python-1.2.0-cp310-cp310-linux_x86_64.whl

+ 1 - 1
deploy/hps/server_env/requirements/cpu_hpi.txt

@@ -70,7 +70,7 @@ tqdm==4.67.1
     # via
     #   -c requirements/cpu.txt
     #   ultra-infer-python
-ultra-infer-python @ https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/hpi/ultra_infer/releases/new_hpi/v1.1.1/ultra_infer_python-1.1.1-cp310-cp310-linux_x86_64.whl
+ultra-infer-python @ https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/hpi/ultra_infer/releases/new_hpi/v1.2.0/ultra_infer_python-1.2.0-cp310-cp310-linux_x86_64.whl
     # via -r requirements/cpu_hpi.in
 urllib3==2.3.0
     # via

+ 1 - 1
deploy/hps/server_env/requirements/gpu.in

@@ -1 +1 @@
-paddlepaddle-gpu @ https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/deps/paddlepaddle/paddlepaddle_gpu-3.0.0%2Bfc-cp310-cp310-linux_x86_64.whl
+paddlepaddle-gpu @ https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/deps/paddlepaddle/paddlepaddle_gpu-3.1.1%2Bfc-cp310-cp310-linux_x86_64.whl

+ 64 - 71
deploy/hps/server_env/requirements/gpu.txt

@@ -2,7 +2,7 @@
 # This file is autogenerated by pip-compile with Python 3.10
 # by the following command:
 #
-#    pip-compile --allow-unsafe --no-emit-index-url --no-emit-trusted-host --output-file=requirements/gpu.txt --strip-extras paddlex-hps-server/pyproject.toml requirements/app.in requirements/gpu.in
+#    pip-compile --allow-unsafe --extra=base --extra=serving --no-emit-index-url --no-emit-trusted-host --output-file=requirements/gpu.txt --strip-extras ../../../setup.py paddlex-hps-server/pyproject.toml requirements/app.in requirements/gpu.in
 #
 aiohappyeyeballs==2.4.6
     # via aiohttp
@@ -10,7 +10,7 @@ aiohttp==3.11.12
     # via
     #   langchain
     #   langchain-community
-    #   paddlex
+    #   paddlex (../../../setup.py)
 aiosignal==1.3.2
     # via aiohttp
 annotated-types==0.7.0
@@ -20,18 +20,16 @@ anyio==4.8.0
     #   httpx
     #   openai
     #   starlette
-astor==0.8.1
-    # via paddlepaddle-gpu
 async-timeout==4.0.3
     # via
     #   aiohttp
     #   langchain
 attrs==25.1.0
     # via aiohttp
-bce-python-sdk==0.9.29
-    # via paddlex
+bce-python-sdk==0.9.42
+    # via paddlex (../../../setup.py)
 beautifulsoup4==4.13.4
-    # via paddlex
+    # via paddlex (../../../setup.py)
 cachetools==5.5.2
     # via premailer
 certifi==2025.1.31
@@ -42,16 +40,16 @@ certifi==2025.1.31
 cffi==1.17.1
     # via soundfile
 chardet==5.2.0
-    # via paddlex
+    # via paddlex (../../../setup.py)
 charset-normalizer==3.4.1
     # via requests
 chinese-calendar==1.10.0
-    # via paddlex
-click==8.1.8
+    # via paddlex (../../../setup.py)
+click==8.2.1
     # via uvicorn
 colorlog==6.9.0
     # via
-    #   paddlex
+    #   paddlex (../../../setup.py)
     #   paddlex-hps-server (paddlex-hps-server/pyproject.toml)
 cssselect==1.2.0
     # via premailer
@@ -61,14 +59,12 @@ cycler==0.12.1
     # via matplotlib
 dataclasses-json==0.6.7
     # via langchain-community
-decorator==5.2.0
-    # via paddlepaddle-gpu
-decord==0.6.0
-    # via paddlex
+decord==0.6.0 ; (platform_machine == "x86_64" or platform_machine == "AMD64") and sys_platform != "darwin"
+    # via paddlex (../../../setup.py)
 distro==1.9.0
     # via openai
 einops==0.8.1
-    # via paddlex
+    # via paddlex (../../../setup.py)
 et-xmlfile==2.0.0
     # via openpyxl
 exceptiongroup==1.2.2
@@ -76,15 +72,15 @@ exceptiongroup==1.2.2
 faiss-cpu==1.8.0.post1
     # via
     #   -r requirements/app.in
-    #   paddlex
-fastapi==0.115.8
-    # via paddlex
+    #   paddlex (../../../setup.py)
+fastapi==0.116.1
+    # via paddlex (../../../setup.py)
 filelock==3.17.0
     # via
     #   huggingface-hub
-    #   paddlex
+    #   paddlex (../../../setup.py)
 filetype==1.2.0
-    # via paddlex
+    # via paddlex (../../../setup.py)
 fonttools==4.56.0
     # via matplotlib
 frozenlist==1.5.0
@@ -94,11 +90,11 @@ frozenlist==1.5.0
 fsspec==2025.2.0
     # via huggingface-hub
 ftfy==6.3.1
-    # via paddlex
+    # via paddlex (../../../setup.py)
 future==1.0.0
     # via bce-python-sdk
 gputil==1.4.0
-    # via paddlex
+    # via paddlex (../../../setup.py)
 greenlet==3.1.1
     # via sqlalchemy
 h11==0.14.0
@@ -114,7 +110,7 @@ httpx==0.28.1
     #   paddlepaddle-gpu
 huggingface-hub==0.29.1
     # via
-    #   paddlex
+    #   paddlex (../../../setup.py)
     #   tokenizers
 idna==3.10
     # via
@@ -125,14 +121,14 @@ idna==3.10
 imageio==2.37.0
     # via scikit-image
 imagesize==1.4.1
-    # via paddlex
+    # via paddlex (../../../setup.py)
 jinja2==3.1.5
-    # via paddlex
+    # via paddlex (../../../setup.py)
 jiter==0.8.2
     # via openai
 joblib==1.4.2
     # via
-    #   paddlex
+    #   paddlex (../../../setup.py)
     #   scikit-learn
 jsonpatch==1.33
     # via langchain-core
@@ -143,18 +139,18 @@ kiwisolver==1.4.8
 langchain==0.2.17
     # via
     #   langchain-community
-    #   paddlex
+    #   paddlex (../../../setup.py)
 langchain-community==0.2.17
-    # via paddlex
+    # via paddlex (../../../setup.py)
 langchain-core==0.2.43
     # via
     #   langchain
     #   langchain-community
     #   langchain-openai
     #   langchain-text-splitters
-    #   paddlex
+    #   paddlex (../../../setup.py)
 langchain-openai==0.1.25
-    # via paddlex
+    # via paddlex (../../../setup.py)
 langchain-text-splitters==0.2.4
     # via langchain
 langsmith==0.1.147
@@ -166,7 +162,7 @@ lazy-loader==0.4
     # via scikit-image
 lxml==5.3.1
     # via
-    #   paddlex
+    #   paddlex (../../../setup.py)
     #   premailer
 markupsafe==3.0.2
     # via jinja2
@@ -174,7 +170,7 @@ marshmallow==3.26.1
     # via dataclasses-json
 matplotlib==3.5.2
     # via
-    #   paddlex
+    #   paddlex (../../../setup.py)
     #   pycocotools
 more-itertools==10.6.0
     # via cssutils
@@ -200,7 +196,7 @@ numpy==1.24.4
     #   opencv-contrib-python
     #   opt-einsum
     #   paddlepaddle-gpu
-    #   paddlex
+    #   paddlex (../../../setup.py)
     #   pandas
     #   pycocotools
     #   scikit-image
@@ -212,13 +208,13 @@ numpy==1.24.4
 openai==1.63.2
     # via
     #   langchain-openai
-    #   paddlex
+    #   paddlex (../../../setup.py)
 opencv-contrib-python==4.10.0.84
     # via
     #   -r requirements/app.in
-    #   paddlex
+    #   paddlex (../../../setup.py)
 openpyxl==3.1.5
-    # via paddlex
+    # via paddlex (../../../setup.py)
 opt-einsum==3.3.0
     # via paddlepaddle-gpu
 orjson==3.10.15
@@ -231,27 +227,23 @@ packaging==24.2
     #   lazy-loader
     #   marshmallow
     #   matplotlib
-    #   paddlex
+    #   paddlex (../../../setup.py)
     #   scikit-image
-paddlepaddle-gpu @ https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/deps/paddlepaddle/paddlepaddle_gpu-3.0.0%2Bfc-cp310-cp310-linux_x86_64.whl
+paddlepaddle-gpu @ https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/deps/paddlepaddle/paddlepaddle_gpu-3.1.1%2Bfc-cp310-cp310-linux_x86_64.whl
     # via -r requirements/gpu.in
-paddlex==3.1.3
-    # via
-    #   -r requirements/app.in
-    #   paddlex-hps-server (paddlex-hps-server/pyproject.toml)
 pandas==1.3.5
-    # via paddlex
+    # via paddlex (../../../setup.py)
 pillow==9.5.0
     # via
     #   imageio
     #   matplotlib
     #   paddlepaddle-gpu
-    #   paddlex
+    #   paddlex (../../../setup.py)
     #   scikit-image
 premailer==3.10.0
-    # via paddlex
+    # via paddlex (../../../setup.py)
 prettytable==3.14.0
-    # via paddlex
+    # via paddlex (../../../setup.py)
 propcache==0.3.0
     # via
     #   aiohttp
@@ -259,16 +251,16 @@ propcache==0.3.0
 protobuf==5.29.3
     # via paddlepaddle-gpu
 py-cpuinfo==9.0.0
-    # via paddlex
+    # via paddlex (../../../setup.py)
 pyclipper==1.3.0.post6
-    # via paddlex
+    # via paddlex (../../../setup.py)
 pycocotools==2.0.8
     # via
     #   -r requirements/app.in
-    #   paddlex
+    #   paddlex (../../../setup.py)
 pycparser==2.22
     # via cffi
-pycryptodome==3.21.0
+pycryptodome==3.23.0
     # via bce-python-sdk
 pydantic==2.10.6
     # via
@@ -278,14 +270,14 @@ pydantic==2.10.6
     #   langchain-core
     #   langsmith
     #   openai
-    #   paddlex
+    #   paddlex (../../../setup.py)
     #   paddlex-hps-server (paddlex-hps-server/pyproject.toml)
 pydantic-core==2.27.2
     # via pydantic
 pyparsing==3.2.1
     # via matplotlib
 pypdfium2==4.30.1
-    # via paddlex
+    # via paddlex (../../../setup.py)
 python-dateutil==2.9.0.post0
     # via
     #   matplotlib
@@ -298,10 +290,10 @@ pyyaml==6.0.2
     #   langchain
     #   langchain-community
     #   langchain-core
-    #   paddlex
+    #   paddlex (../../../setup.py)
 regex==2024.11.6
     # via
-    #   paddlex
+    #   paddlex (../../../setup.py)
     #   tiktoken
 requests==2.32.3
     # via
@@ -309,26 +301,26 @@ requests==2.32.3
     #   langchain
     #   langchain-community
     #   langsmith
-    #   paddlex
+    #   paddlex (../../../setup.py)
     #   premailer
     #   requests-toolbelt
     #   tiktoken
 requests-toolbelt==1.0.0
     # via langsmith
 ruamel-yaml==0.18.10
-    # via paddlex
+    # via paddlex (../../../setup.py)
 ruamel-yaml-clib==0.2.12
     # via ruamel-yaml
 scikit-image==0.24.0
-    # via paddlex
+    # via paddlex (../../../setup.py)
 scikit-learn==1.6.1
-    # via paddlex
+    # via paddlex (../../../setup.py)
 scipy==1.15.2
     # via
     #   scikit-image
     #   scikit-learn
 shapely==2.0.7
-    # via paddlex
+    # via paddlex (../../../setup.py)
 six==1.17.0
     # via
     #   bce-python-sdk
@@ -338,17 +330,17 @@ sniffio==1.3.1
     #   anyio
     #   openai
 soundfile==0.13.1
-    # via paddlex
+    # via paddlex (../../../setup.py)
 soupsieve==2.7
     # via beautifulsoup4
 sqlalchemy==2.0.38
     # via
     #   langchain
     #   langchain-community
-starlette==0.45.3
+starlette==0.47.2
     # via
     #   fastapi
-    #   paddlex
+    #   paddlex (../../../setup.py)
 tenacity==8.5.0
     # via
     #   langchain
@@ -361,14 +353,14 @@ tifffile==2025.2.18
 tiktoken==0.9.0
     # via
     #   langchain-openai
-    #   paddlex
+    #   paddlex (../../../setup.py)
 tokenizers==0.19.1
-    # via paddlex
+    # via paddlex (../../../setup.py)
 tqdm==4.67.1
     # via
     #   huggingface-hub
     #   openai
-    #   paddlex
+    #   paddlex (../../../setup.py)
 typing-extensions==4.12.2
     # via
     #   -r requirements/app.in
@@ -380,20 +372,21 @@ typing-extensions==4.12.2
     #   multidict
     #   openai
     #   paddlepaddle-gpu
-    #   paddlex
+    #   paddlex (../../../setup.py)
     #   pydantic
     #   pydantic-core
     #   sqlalchemy
+    #   starlette
     #   typing-inspect
     #   uvicorn
 typing-inspect==0.9.0
     # via dataclasses-json
 ujson==5.10.0
-    # via paddlex
+    # via paddlex (../../../setup.py)
 urllib3==2.3.0
     # via requests
-uvicorn==0.34.0
-    # via paddlex
+uvicorn==0.35.0
+    # via paddlex (../../../setup.py)
 wcwidth==0.2.13
     # via
     #   ftfy
@@ -401,4 +394,4 @@ wcwidth==0.2.13
 yarl==1.18.3
     # via
     #   aiohttp
-    #   paddlex
+    #   paddlex (../../../setup.py)

+ 1 - 1
deploy/hps/server_env/requirements/gpu_dev.txt

@@ -2,5 +2,5 @@
 # This file is autogenerated by pip-compile with Python 3.10
 # by the following command:
 #
-#    pip-compile --allow-unsafe --constraint=requirements/gpu.txt --no-emit-index-url --no-emit-trusted-host --output-file=requirements/gpu_dev.txt --strip-extras  requirements/gpu_dev.in
+#    pip-compile --allow-unsafe --constraint=requirements/gpu.txt --no-emit-index-url --no-emit-trusted-host --output-file=requirements/gpu_dev.txt --strip-extras requirements/gpu_dev.in
 #

+ 1 - 1
deploy/hps/server_env/requirements/gpu_hpi.in

@@ -1,2 +1,2 @@
 paddle2onnx == 2.0.2rc3
-ultra-infer-gpu-python @ https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/hpi/ultra_infer/releases/new_hpi/v1.1.1/ultra_infer_gpu_python-1.1.1-cp310-cp310-linux_x86_64.whl
+ultra-infer-gpu-python @ https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/hpi/ultra_infer/releases/new_hpi/v1.2.0/ultra_infer_gpu_python-1.2.0-cp310-cp310-linux_x86_64.whl

+ 1 - 1
deploy/hps/server_env/requirements/gpu_hpi.txt

@@ -52,7 +52,7 @@ tqdm==4.67.1
     # via
     #   -c requirements/gpu.txt
     #   ultra-infer-gpu-python
-ultra-infer-gpu-python @ https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/hpi/ultra_infer/releases/new_hpi/v1.1.1/ultra_infer_gpu_python-1.1.1-cp310-cp310-linux_x86_64.whl
+ultra-infer-gpu-python @ https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/hpi/ultra_infer/releases/new_hpi/v1.2.0/ultra_infer_gpu_python-1.2.0-cp310-cp310-linux_x86_64.whl
     # via -r requirements/gpu_hpi.in
 urllib3==2.3.0
     # via

+ 3 - 1
deploy/hps/server_env/scripts/_freeze_requirements.sh

@@ -13,7 +13,9 @@ python -m piptools compile \
     --strip-extras \
     --no-emit-index-url \
     --no-emit-trusted-host \
-    requirements/app.in "requirements/${DEVICE_TYPE}.in" paddlex-hps-server/pyproject.toml 
+    --extra 'base' \
+    --extra 'serving' \
+    requirements/app.in "requirements/${DEVICE_TYPE}.in" paddlex-hps-server/pyproject.toml ../../../setup.py
 chown "${OUID}":"${OGID}" "requirements/${DEVICE_TYPE}.txt"
 
 python -m piptools compile \

+ 1 - 1
deploy/hps/server_env/scripts/build_deployment_image.sh

@@ -47,4 +47,4 @@ args=(
 [[ -n $pip_index_url ]] && args+=( --build-arg PIP_INDEX_URL="${pip_index_url}" )
 
 
-DOCKER_BUILDKIT=1 docker build "${args[@]}" .
+DOCKER_BUILDKIT=1 docker build "${args[@]}" ../../..

+ 2 - 2
deploy/hps/server_env/scripts/freeze_requirements.sh

@@ -8,8 +8,8 @@ for device_type in 'gpu' 'cpu'; do
         -e DEVICE_TYPE="${device_type}" \
         -e OUID="$(id -u)" \
         -e OGID="$(id -g)" \
-        -v "$(pwd)":/workspace \
-        -w /workspace \
+        -v "$(pwd)/../../..":/workspace \
+        -w /workspace/deploy/hps/server_env \
         --rm \
         "paddlex-hps-rc:${device_type}" \
         /bin/bash scripts/_freeze_requirements.sh

+ 1 - 1
deploy/hps/server_env/scripts/prepare_deployment_images.sh

@@ -1,5 +1,5 @@
 #!/usr/bin/env bash
 
 for device_type in 'gpu' 'cpu'; do
-    bash scripts/build_deployment_image.sh -k "${device_type}" -t "latest-${device_type}"
+    bash scripts/build_deployment_image.sh -k "${device_type}" -t "latest-${device_type}" "$@"
 done

+ 2 - 2
deploy/hps/server_env/scripts/remove_images.sh

@@ -1,11 +1,11 @@
 #!/usr/bin/env bash
 
-paddlex_version="$(cat paddlex_version.txt)"
+paddlex_version="$(cat ../../paddlex/.version)"
 
 for device_type in 'gpu' 'cpu'; do
     version="$(cat "${device_type}_version.txt")"
     docker rmi \
-        "ccr-2vdh3abv-pub.cnc.bj.baidubce.com/paddlex/hps:paddlex${paddlex_version}-${device_type}" \
+        "ccr-2vdh3abv-pub.cnc.bj.baidubce.com/paddlex/hps:paddlex${paddlex_version%.*}-${device_type}" \
         "ccr-2vdh3abv-pub.cnc.bj.baidubce.com/paddlex/hps:${version}-${device_type}" \
         "ccr-2vdh3abv-pub.cnc.bj.baidubce.com/paddlex/hps:latest-${device_type}"
 done

+ 2 - 2
deploy/hps/server_env/scripts/tag_and_push_images.sh

@@ -1,11 +1,11 @@
 #!/usr/bin/env bash
 
-paddlex_version="$(cat paddlex_version.txt)"
+paddlex_version="$(cat ../../paddlex/.version)"
 
 for device_type in 'gpu' 'cpu'; do
     version="$(cat "${device_type}_version.txt")"
     docker push "ccr-2vdh3abv-pub.cnc.bj.baidubce.com/paddlex/hps:latest-${device_type}"
-    for tag in "${version}-${device_type}" "paddlex${paddlex_version}-${device_type}"; do
+    for tag in "${version}-${device_type}" "paddlex${paddlex_version%.*}-${device_type}"; do
         docker tag "ccr-2vdh3abv-pub.cnc.bj.baidubce.com/paddlex/hps:latest-${device_type}" "ccr-2vdh3abv-pub.cnc.bj.baidubce.com/paddlex/hps:${tag}"
         docker push "ccr-2vdh3abv-pub.cnc.bj.baidubce.com/paddlex/hps:${tag}"
     done

+ 35 - 35
docs/pipeline_deploy/serving.en.md

@@ -128,131 +128,131 @@ Find the high-stability serving SDK corresponding to the pipeline in the table b
 <tbody>
 <tr>
 <td>PP-ChatOCR-doc v3</td>
-<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.1/paddlex_hps_PP-ChatOCRv3-doc_sdk.tar.gz">paddlex_hps_PP-ChatOCRv3-doc_sdk.tar.gz</a></td>
+<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.2/paddlex_hps_PP-ChatOCRv3-doc_sdk.tar.gz">paddlex_hps_PP-ChatOCRv3-doc_sdk.tar.gz</a></td>
 </tr>
 <tr>
 <td>General image classification</td>
-<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.1/paddlex_hps_image_classification_sdk.tar.gz">paddlex_hps_image_classification_sdk.tar.gz</a></td>
+<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.2/paddlex_hps_image_classification_sdk.tar.gz">paddlex_hps_image_classification_sdk.tar.gz</a></td>
 </tr>
 <tr>
 <td>General object detection</td>
-<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.1/paddlex_hps_object_detection_sdk.tar.gz">paddlex_hps_object_detection_sdk.tar.gz</a></td>
+<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.2/paddlex_hps_object_detection_sdk.tar.gz">paddlex_hps_object_detection_sdk.tar.gz</a></td>
 </tr>
 <tr>
 <td>General instance segmentation</td>
-<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.1/paddlex_hps_instance_segmentation_sdk.tar.gz">paddlex_hps_instance_segmentation_sdk.tar.gz</a></td>
+<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.2/paddlex_hps_instance_segmentation_sdk.tar.gz">paddlex_hps_instance_segmentation_sdk.tar.gz</a></td>
 </tr>
 <tr>
 <td>General semantic segmentation</td>
-<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.1/paddlex_hps_semantic_segmentation_sdk.tar.gz">paddlex_hps_semantic_segmentation_sdk.tar.gz</a></td>
+<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.2/paddlex_hps_semantic_segmentation_sdk.tar.gz">paddlex_hps_semantic_segmentation_sdk.tar.gz</a></td>
 </tr>
 <tr>
 <td>Image multi-label classification</td>
-<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.1/paddlex_hps_image_multilabel_classification_sdk.tar.gz">paddlex_hps_image_multilabel_classification_sdk.tar.gz</a></td>
+<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.2/paddlex_hps_image_multilabel_classification_sdk.tar.gz">paddlex_hps_image_multilabel_classification_sdk.tar.gz</a></td>
 </tr>
 <tr>
 <td>General image recognition</td>
-<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.1/paddlex_hps_PP-ShiTuV2_sdk.tar.gz">paddlex_hps_PP-ShiTuV2_sdk.tar.gz</a></td>
+<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.2/paddlex_hps_PP-ShiTuV2_sdk.tar.gz">paddlex_hps_PP-ShiTuV2_sdk.tar.gz</a></td>
 </tr>
 <tr>
 <td>Pedestrian attribute recognition</td>
-<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.1/paddlex_hps_pedestrian_attribute_recognition_sdk.tar.gz">paddlex_hps_pedestrian_attribute_recognition_sdk.tar.gz</a></td>
+<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.2/paddlex_hps_pedestrian_attribute_recognition_sdk.tar.gz">paddlex_hps_pedestrian_attribute_recognition_sdk.tar.gz</a></td>
 </tr>
 <tr>
 <td>Vehicle attribute recognition</td>
-<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.1/paddlex_hps_vehicle_attribute_recognition_sdk.tar.gz">paddlex_hps_vehicle_attribute_recognition_sdk.tar.gz</a></td>
+<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.2/paddlex_hps_vehicle_attribute_recognition_sdk.tar.gz">paddlex_hps_vehicle_attribute_recognition_sdk.tar.gz</a></td>
 </tr>
 <tr>
 <td>Face recognition</td>
-<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.1/paddlex_hps_face_recognition_sdk.tar.gz">paddlex_hps_face_recognition_sdk.tar.gz</a></td>
+<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.2/paddlex_hps_face_recognition_sdk.tar.gz">paddlex_hps_face_recognition_sdk.tar.gz</a></td>
 </tr>
 <tr>
 <td>Small object detection</td>
-<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.1/paddlex_hps_small_object_detection_sdk.tar.gz">paddlex_hps_small_object_detection_sdk.tar.gz</a></td>
+<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.2/paddlex_hps_small_object_detection_sdk.tar.gz">paddlex_hps_small_object_detection_sdk.tar.gz</a></td>
 </tr>
 <tr>
 <td>Image anomaly detection</td>
-<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.1/paddlex_hps_anomaly_detection_sdk.tar.gz">paddlex_hps_anomaly_detection_sdk.tar.gz</a></td>
+<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.2/paddlex_hps_anomaly_detection_sdk.tar.gz">paddlex_hps_anomaly_detection_sdk.tar.gz</a></td>
 </tr>
 <tr>
 <td>Human keypoint detection</td>
-<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.1/paddlex_hps_human_keypoint_detection_sdk.tar.gz">paddlex_hps_human_keypoint_detection_sdk.tar.gz</a></td>
+<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.2/paddlex_hps_human_keypoint_detection_sdk.tar.gz">paddlex_hps_human_keypoint_detection_sdk.tar.gz</a></td>
 </tr>
 <tr>
 <td>Open vocabulary detection</td>
-<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.1/paddlex_hps_open_vocabulary_detection_sdk.tar.gz">paddlex_hps_open_vocabulary_detection_sdk.tar.gz</a></td>
+<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.2/paddlex_hps_open_vocabulary_detection_sdk.tar.gz">paddlex_hps_open_vocabulary_detection_sdk.tar.gz</a></td>
 </tr>
 <tr>
 <td>Open vocabulary segmentation</td>
-<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.1/paddlex_hps_open_vocabulary_segmentation_sdk.tar.gz">paddlex_hps_open_vocabulary_segmentation_sdk.tar.gz</a></td>
+<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.2/paddlex_hps_open_vocabulary_segmentation_sdk.tar.gz">paddlex_hps_open_vocabulary_segmentation_sdk.tar.gz</a></td>
 </tr>
 <tr>
 <td>Rotated object detection</td>
-<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.1/paddlex_hps_rotated_object_detection_sdk.tar.gz">paddlex_hps_rotated_object_detection_sdk.tar.gz</a></td>
+<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.2/paddlex_hps_rotated_object_detection_sdk.tar.gz">paddlex_hps_rotated_object_detection_sdk.tar.gz</a></td>
 </tr>
 <tr>
 <td>3D multi-modal fusion detection</td>
-<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.1/paddlex_hps_3d_bev_detection_sdk.tar.gz">paddlex_hps_3d_bev_detection_sdk.tar.gz</a></td>
+<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.2/paddlex_hps_3d_bev_detection_sdk.tar.gz">paddlex_hps_3d_bev_detection_sdk.tar.gz</a></td>
 </tr>
 <tr>
 <td>General OCR</td>
-<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.1/paddlex_hps_OCR_sdk.tar.gz">paddlex_hps_OCR_sdk.tar.gz</a></td>
+<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.2/paddlex_hps_OCR_sdk.tar.gz">paddlex_hps_OCR_sdk.tar.gz</a></td>
 </tr>
 <tr>
 <td>General table recognition</td>
-<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.1/paddlex_hps_table_recognition_sdk.tar.gz">paddlex_hps_table_recognition_sdk.tar.gz</a></td>
+<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.2/paddlex_hps_table_recognition_sdk.tar.gz">paddlex_hps_table_recognition_sdk.tar.gz</a></td>
 </tr>
 <tr>
 <td>General table recognition v2</td>
-<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.1/paddlex_hps_table_recognition_v2_sdk.tar.gz">paddlex_hps_table_recognition_v2_sdk.tar.gz</a></td>
+<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.2/paddlex_hps_table_recognition_v2_sdk.tar.gz">paddlex_hps_table_recognition_v2_sdk.tar.gz</a></td>
 </tr>
 <tr>
 <td>General layout parsing</td>
-<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.1/paddlex_hps_layout_parsing_sdk.tar.gz">paddlex_hps_layout_parsing_sdk.tar.gz</a></td>
+<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.2/paddlex_hps_layout_parsing_sdk.tar.gz">paddlex_hps_layout_parsing_sdk.tar.gz</a></td>
 </tr>
 <tr>
 <td>PP-StructureV3</td>
-<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.1/paddlex_hps_PP-StructureV3_sdk.tar.gz">paddlex_hps_PP-StructureV3_sdk.tar.gz</a></td>
+<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.2/paddlex_hps_PP-StructureV3_sdk.tar.gz">paddlex_hps_PP-StructureV3_sdk.tar.gz</a></td>
 </tr>
 <tr>
 <td>Formula recognition</td>
-<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.1/paddlex_hps_formula_recognition_sdk.tar.gz">paddlex_hps_formula_recognition_sdk.tar.gz</a></td>
+<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.2/paddlex_hps_formula_recognition_sdk.tar.gz">paddlex_hps_formula_recognition_sdk.tar.gz</a></td>
 </tr>
 <tr>
 <td>Seal text recognition</td>
-<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.1/paddlex_hps_seal_recognition_sdk.tar.gz">paddlex_hps_seal_recognition_sdk.tar.gz</a></td>
+<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.2/paddlex_hps_seal_recognition_sdk.tar.gz">paddlex_hps_seal_recognition_sdk.tar.gz</a></td>
 </tr>
 <tr>
 <td>Document image preprocessing</td>
-<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.1/paddlex_hps_doc_preprocessor_sdk.tar.gz">paddlex_hps_doc_preprocessor_sdk.tar.gz</a></td>
+<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.2/paddlex_hps_doc_preprocessor_sdk.tar.gz">paddlex_hps_doc_preprocessor_sdk.tar.gz</a></td>
 </tr>
 <tr>
 <td>Time series forecasting</td>
-<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.1/paddlex_hps_ts_forecast_sdk.tar.gz">paddlex_hps_ts_forecast_sdk.tar.gz</a></td>
+<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.2/paddlex_hps_ts_forecast_sdk.tar.gz">paddlex_hps_ts_forecast_sdk.tar.gz</a></td>
 </tr>
 <tr>
 <td>Time series anomaly detection</td>
-<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.1/paddlex_hps_ts_anomaly_detection_sdk.tar.gz">paddlex_hps_ts_anomaly_detection_sdk.tar.gz</a></td>
+<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.2/paddlex_hps_ts_anomaly_detection_sdk.tar.gz">paddlex_hps_ts_anomaly_detection_sdk.tar.gz</a></td>
 </tr>
 <tr>
 <td>Time series classification</td>
-<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.1/paddlex_hps_ts_classification_sdk.tar.gz">paddlex_hps_ts_classification_sdk.tar.gz</a></td>
+<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.2/paddlex_hps_ts_classification_sdk.tar.gz">paddlex_hps_ts_classification_sdk.tar.gz</a></td>
 </tr>
 <tr>
 <td>Multilingual speech recognition</td>
-<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.1/paddlex_hps_multilingual_speech_recognition_sdk.tar.gz">paddlex_hps_multilingual_speech_recognition_sdk.tar.gz</a></td>
+<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.2/paddlex_hps_multilingual_speech_recognition_sdk.tar.gz">paddlex_hps_multilingual_speech_recognition_sdk.tar.gz</a></td>
 </tr>
 <tr>
 <td>General video classification</td>
-<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.1/paddlex_hps_video_classification_sdk.tar.gz">paddlex_hps_video_classification_sdk.tar.gz</a></td>
+<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.2/paddlex_hps_video_classification_sdk.tar.gz">paddlex_hps_video_classification_sdk.tar.gz</a></td>
 </tr>
 <tr>
 <td>General video detection</td>
-<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.1/paddlex_hps_video_detection_sdk.tar.gz">paddlex_hps_video_detection_sdk.tar.gz</a></td>
+<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.2/paddlex_hps_video_detection_sdk.tar.gz">paddlex_hps_video_detection_sdk.tar.gz</a></td>
 </tr>
 <tr>
 <td>Document understanding</td>
-<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.1/paddlex_hps_doc_understanding_sdk.tar.gz">paddlex_hps_doc_understanding_sdk.tar.gz</a></td>
+<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.2/paddlex_hps_doc_understanding_sdk.tar.gz">paddlex_hps_doc_understanding_sdk.tar.gz</a></td>
 </tr>
 </tbody>
 </table>
@@ -310,13 +310,13 @@ First, pull the Docker image as needed:
 - Image supporting deployment with NVIDIA GPU (the machine must have NVIDIA drivers that support CUDA 11.8 installed):
 
     ```bash
-    docker pull ccr-2vdh3abv-pub.cnc.bj.baidubce.com/paddlex/hps:paddlex3.1-gpu
+    docker pull ccr-2vdh3abv-pub.cnc.bj.baidubce.com/paddlex/hps:paddlex3.2-gpu
     ```
 
 - CPU-only Image:
 
     ```bash
-    docker pull ccr-2vdh3abv-pub.cnc.bj.baidubce.com/paddlex/hps:paddlex3.1-cpu
+    docker pull ccr-2vdh3abv-pub.cnc.bj.baidubce.com/paddlex/hps:paddlex3.2-cpu
     ```
 
 If you need to build the image on your own, please refer to [the `hps` project documentation](https://github.com/PaddlePaddle/PaddleX/blob/develop/deploy/hps/README_en.md#1-image-building)
@@ -354,7 +354,7 @@ I1216 11:37:21.643494 35 http_server.cc:167] Started Metrics Service at 0.0.0.0:
 
 ### 2.4 Invoke the Service
 
-Users can call the pipeline service through the Python client provided by the SDK or by manually constructing HTTP requests (with no restriction on client programming languages). 
+Users can call the pipeline service through the Python client provided by the SDK or by manually constructing HTTP requests (with no restriction on client programming languages).
 
 
 The services deployed using the high-stability serving solution offer the primary operations that match those of the basic serving solution. For each primary operation, the endpoint names and the request and response data fields are consistent with the basic serving solution. Please refer to the "Development Integration/Deployment" section in the tutorials for each pipeline. The tutorials for each pipeline can be found [here](../pipeline_usage/pipeline_develop_guide.en.md).

+ 34 - 34
docs/pipeline_deploy/serving.md

@@ -128,131 +128,131 @@ paddlex --serve --pipeline image_classification --use_hpip
 <tbody>
 <tr>
 <td>文档场景信息抽取 v3</td>
-<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.1/paddlex_hps_PP-ChatOCRv3-doc_sdk.tar.gz">paddlex_hps_PP-ChatOCRv3-doc_sdk.tar.gz</a></td>
+<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.2/paddlex_hps_PP-ChatOCRv3-doc_sdk.tar.gz">paddlex_hps_PP-ChatOCRv3-doc_sdk.tar.gz</a></td>
 </tr>
 <tr>
 <td>通用图像分类</td>
-<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.1/paddlex_hps_image_classification_sdk.tar.gz">paddlex_hps_image_classification_sdk.tar.gz</a></td>
+<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.2/paddlex_hps_image_classification_sdk.tar.gz">paddlex_hps_image_classification_sdk.tar.gz</a></td>
 </tr>
 <tr>
 <td>通用目标检测</td>
-<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.1/paddlex_hps_object_detection_sdk.tar.gz">paddlex_hps_object_detection_sdk.tar.gz</a></td>
+<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.2/paddlex_hps_object_detection_sdk.tar.gz">paddlex_hps_object_detection_sdk.tar.gz</a></td>
 </tr>
 <tr>
 <td>通用实例分割</td>
-<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.1/paddlex_hps_instance_segmentation_sdk.tar.gz">paddlex_hps_instance_segmentation_sdk.tar.gz</a></td>
+<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.2/paddlex_hps_instance_segmentation_sdk.tar.gz">paddlex_hps_instance_segmentation_sdk.tar.gz</a></td>
 </tr>
 <tr>
 <td>通用语义分割</td>
-<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.1/paddlex_hps_semantic_segmentation_sdk.tar.gz">paddlex_hps_semantic_segmentation_sdk.tar.gz</a></td>
+<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.2/paddlex_hps_semantic_segmentation_sdk.tar.gz">paddlex_hps_semantic_segmentation_sdk.tar.gz</a></td>
 </tr>
 <tr>
 <td>通用图像多标签分类</td>
-<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.1/paddlex_hps_image_multilabel_classification_sdk.tar.gz">paddlex_hps_image_multilabel_classification_sdk.tar.gz</a></td>
+<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.2/paddlex_hps_image_multilabel_classification_sdk.tar.gz">paddlex_hps_image_multilabel_classification_sdk.tar.gz</a></td>
 </tr>
 <tr>
 <td>通用图像识别</td>
-<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.1/paddlex_hps_PP-ShiTuV2_sdk.tar.gz">paddlex_hps_PP-ShiTuV2_sdk.tar.gz</a></td>
+<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.2/paddlex_hps_PP-ShiTuV2_sdk.tar.gz">paddlex_hps_PP-ShiTuV2_sdk.tar.gz</a></td>
 </tr>
 <tr>
 <td>行人属性识别</td>
-<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.1/paddlex_hps_pedestrian_attribute_recognition_sdk.tar.gz">paddlex_hps_pedestrian_attribute_recognition_sdk.tar.gz</a></td>
+<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.2/paddlex_hps_pedestrian_attribute_recognition_sdk.tar.gz">paddlex_hps_pedestrian_attribute_recognition_sdk.tar.gz</a></td>
 </tr>
 <tr>
 <td>车辆属性识别</td>
-<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.1/paddlex_hps_vehicle_attribute_recognition_sdk.tar.gz">paddlex_hps_vehicle_attribute_recognition_sdk.tar.gz</a></td>
+<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.2/paddlex_hps_vehicle_attribute_recognition_sdk.tar.gz">paddlex_hps_vehicle_attribute_recognition_sdk.tar.gz</a></td>
 </tr>
 <tr>
 <td>人脸识别</td>
-<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.1/paddlex_hps_face_recognition_sdk.tar.gz">paddlex_hps_face_recognition_sdk.tar.gz</a></td>
+<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.2/paddlex_hps_face_recognition_sdk.tar.gz">paddlex_hps_face_recognition_sdk.tar.gz</a></td>
 </tr>
 <tr>
 <td>小目标检测</td>
-<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.1/paddlex_hps_small_object_detection_sdk.tar.gz">paddlex_hps_small_object_detection_sdk.tar.gz</a></td>
+<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.2/paddlex_hps_small_object_detection_sdk.tar.gz">paddlex_hps_small_object_detection_sdk.tar.gz</a></td>
 </tr>
 <tr>
 <td>图像异常检测</td>
-<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.1/paddlex_hps_anomaly_detection_sdk.tar.gz">paddlex_hps_anomaly_detection_sdk.tar.gz</a></td>
+<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.2/paddlex_hps_anomaly_detection_sdk.tar.gz">paddlex_hps_anomaly_detection_sdk.tar.gz</a></td>
 </tr>
 <tr>
 <td>人体关键点检测</td>
-<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.1/paddlex_hps_human_keypoint_detection_sdk.tar.gz">paddlex_hps_human_keypoint_detection_sdk.tar.gz</a></td>
+<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.2/paddlex_hps_human_keypoint_detection_sdk.tar.gz">paddlex_hps_human_keypoint_detection_sdk.tar.gz</a></td>
 </tr>
 <tr>
 <td>开放词汇检测</td>
-<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.1/paddlex_hps_open_vocabulary_detection_sdk.tar.gz">paddlex_hps_open_vocabulary_detection_sdk.tar.gz</a></td>
+<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.2/paddlex_hps_open_vocabulary_detection_sdk.tar.gz">paddlex_hps_open_vocabulary_detection_sdk.tar.gz</a></td>
 </tr>
 <tr>
 <td>开放词汇分割</td>
-<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.1/paddlex_hps_open_vocabulary_segmentation_sdk.tar.gz">paddlex_hps_open_vocabulary_segmentation_sdk.tar.gz</a></td>
+<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.2/paddlex_hps_open_vocabulary_segmentation_sdk.tar.gz">paddlex_hps_open_vocabulary_segmentation_sdk.tar.gz</a></td>
 </tr>
 <tr>
 <td>旋转目标检测</td>
-<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.1/paddlex_hps_rotated_object_detection_sdk.tar.gz">paddlex_hps_rotated_object_detection_sdk.tar.gz</a></td>
+<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.2/paddlex_hps_rotated_object_detection_sdk.tar.gz">paddlex_hps_rotated_object_detection_sdk.tar.gz</a></td>
 </tr>
 <tr>
 <td>3D 多模态融合检测</td>
-<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.1/paddlex_hps_3d_bev_detection_sdk.tar.gz">paddlex_hps_3d_bev_detection_sdk.tar.gz</a></td>
+<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.2/paddlex_hps_3d_bev_detection_sdk.tar.gz">paddlex_hps_3d_bev_detection_sdk.tar.gz</a></td>
 </tr>
 <tr>
 <td>通用 OCR</td>
-<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.1/paddlex_hps_OCR_sdk.tar.gz">paddlex_hps_OCR_sdk.tar.gz</a></td>
+<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.2/paddlex_hps_OCR_sdk.tar.gz">paddlex_hps_OCR_sdk.tar.gz</a></td>
 </tr>
 <tr>
 <td>通用表格识别</td>
-<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.1/paddlex_hps_table_recognition_sdk.tar.gz">paddlex_hps_table_recognition_sdk.tar.gz</a></td>
+<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.2/paddlex_hps_table_recognition_sdk.tar.gz">paddlex_hps_table_recognition_sdk.tar.gz</a></td>
 </tr>
 <tr>
 <td>通用表格识别 v2</td>
-<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.1/paddlex_hps_table_recognition_v2_sdk.tar.gz">paddlex_hps_table_recognition_v2_sdk.tar.gz</a></td>
+<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.2/paddlex_hps_table_recognition_v2_sdk.tar.gz">paddlex_hps_table_recognition_v2_sdk.tar.gz</a></td>
 </tr>
 <tr>
 <td>通用版面解析</td>
-<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.1/paddlex_hps_layout_parsing_sdk.tar.gz">paddlex_hps_layout_parsing_sdk.tar.gz</a></td>
+<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.2/paddlex_hps_layout_parsing_sdk.tar.gz">paddlex_hps_layout_parsing_sdk.tar.gz</a></td>
 </tr>
 <tr>
 <td>通用版面解析 v3</td>
-<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.1/paddlex_hps_PP-StructureV3_sdk.tar.gz">paddlex_hps_PP-StructureV3_sdk.tar.gz</a></td>
+<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.2/paddlex_hps_PP-StructureV3_sdk.tar.gz">paddlex_hps_PP-StructureV3_sdk.tar.gz</a></td>
 </tr>
 <tr>
 <td>公式识别</td>
-<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.1/paddlex_hps_formula_recognition_sdk.tar.gz">paddlex_hps_formula_recognition_sdk.tar.gz</a></td>
+<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.2/paddlex_hps_formula_recognition_sdk.tar.gz">paddlex_hps_formula_recognition_sdk.tar.gz</a></td>
 </tr>
 <tr>
 <td>印章文本识别</td>
-<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.1/paddlex_hps_seal_recognition_sdk.tar.gz">paddlex_hps_seal_recognition_sdk.tar.gz</a></td>
+<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.2/paddlex_hps_seal_recognition_sdk.tar.gz">paddlex_hps_seal_recognition_sdk.tar.gz</a></td>
 </tr>
 <tr>
 <td>文档图像预处理</td>
-<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.1/paddlex_hps_doc_preprocessor_sdk.tar.gz">paddlex_hps_doc_preprocessor_sdk.tar.gz</a></td>
+<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.2/paddlex_hps_doc_preprocessor_sdk.tar.gz">paddlex_hps_doc_preprocessor_sdk.tar.gz</a></td>
 </tr>
 <tr>
 <td>时序预测</td>
-<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.1/paddlex_hps_ts_forecast_sdk.tar.gz">paddlex_hps_ts_forecast_sdk.tar.gz</a></td>
+<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.2/paddlex_hps_ts_forecast_sdk.tar.gz">paddlex_hps_ts_forecast_sdk.tar.gz</a></td>
 </tr>
 <tr>
 <td>时序异常检测</td>
-<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.1/paddlex_hps_ts_anomaly_detection_sdk.tar.gz">paddlex_hps_ts_anomaly_detection_sdk.tar.gz</a></td>
+<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.2/paddlex_hps_ts_anomaly_detection_sdk.tar.gz">paddlex_hps_ts_anomaly_detection_sdk.tar.gz</a></td>
 </tr>
 <tr>
 <td>时序分类</td>
-<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.1/paddlex_hps_ts_classification_sdk.tar.gz">paddlex_hps_ts_classification_sdk.tar.gz</a></td>
+<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.2/paddlex_hps_ts_classification_sdk.tar.gz">paddlex_hps_ts_classification_sdk.tar.gz</a></td>
 </tr>
 <tr>
 <td>多语种语音识别</td>
-<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.1/paddlex_hps_multilingual_speech_recognition_sdk.tar.gz">paddlex_hps_multilingual_speech_recognition_sdk.tar.gz</a></td>
+<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.2/paddlex_hps_multilingual_speech_recognition_sdk.tar.gz">paddlex_hps_multilingual_speech_recognition_sdk.tar.gz</a></td>
 </tr>
 <tr>
 <td>通用视频分类</td>
-<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.1/paddlex_hps_video_classification_sdk.tar.gz">paddlex_hps_video_classification_sdk.tar.gz</a></td>
+<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.2/paddlex_hps_video_classification_sdk.tar.gz">paddlex_hps_video_classification_sdk.tar.gz</a></td>
 </tr>
 <tr>
 <td>通用视频检测</td>
-<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.1/paddlex_hps_video_detection_sdk.tar.gz">paddlex_hps_video_detection_sdk.tar.gz</a></td>
+<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.2/paddlex_hps_video_detection_sdk.tar.gz">paddlex_hps_video_detection_sdk.tar.gz</a></td>
 </tr>
 <tr>
 <td>文档理解</td>
-<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.1/paddlex_hps_doc_understanding_sdk.tar.gz">paddlex_hps_doc_understanding_sdk.tar.gz</a></td>
+<td><a href="https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/paddlex_hps/public/sdks/v3.2/paddlex_hps_doc_understanding_sdk.tar.gz">paddlex_hps_doc_understanding_sdk.tar.gz</a></td>
 </tr>
 </tbody>
 </table>
@@ -310,13 +310,13 @@ paddlex --serve --pipeline image_classification --use_hpip
 - 支持使用 NVIDIA GPU 部署的镜像(机器上需要安装有支持 CUDA 11.8 的 NVIDIA 驱动):
 
     ```bash
-    docker pull ccr-2vdh3abv-pub.cnc.bj.baidubce.com/paddlex/hps:paddlex3.1-gpu
+    docker pull ccr-2vdh3abv-pub.cnc.bj.baidubce.com/paddlex/hps:paddlex3.2-gpu
     ```
 
 - CPU-only 镜像:
 
     ```bash
-    docker pull ccr-2vdh3abv-pub.cnc.bj.baidubce.com/paddlex/hps:paddlex3.1-cpu
+    docker pull ccr-2vdh3abv-pub.cnc.bj.baidubce.com/paddlex/hps:paddlex3.2-cpu
     ```
 
 如需自定义构建镜像可参考 [`hps` 项目文档](https://github.com/PaddlePaddle/PaddleX/blob/develop/deploy/hps/README.md#1-镜像构建)。

+ 1 - 1
paddlex/.version

@@ -1 +1 @@
-3.1.0
+3.2.0