# TODO: Allow regular users ARG BACKEND=fastdeploy FROM ccr-2vdh3abv-pub.cnc.bj.baidubce.com/device/paddle-ixuca:paddle-ocr-vl-1107 AS base-fastdeploy RUN --mount=type=cache,target=/root/.cache/pip \ python -m pip install fastdeploy_iluvatar_gpu==2.4.0.dev0 -i https://www.paddlepaddle.org.cn/packages/stable/ixuca/ FROM base-${BACKEND} ARG PADDLEOCR_VERSION=">=3.4.0,<3.5" ARG PADDLEX_VERSION=">=3.4.0,<3.5" RUN --mount=type=cache,target=/root/.cache/pip \ python -m pip install "paddleocr${PADDLEOCR_VERSION}" "paddlex${PADDLEX_VERSION}" RUN groupadd -g 1000 paddleocr \ && useradd -m -s /bin/bash -u 1000 -g 1000 paddleocr ENV HOME=/home/paddleocr WORKDIR /home/paddleocr USER paddleocr # TODO: Set these env vars only in FastDeploy image ENV PADDLE_XCCL_BACKEND=iluvatar_gpu ENV FD_SAMPLING_CLASS=rejection ENV LD_PRELOAD=/usr/local/corex/lib64/libcuda.so.1 ARG BUILD_FOR_OFFLINE=false RUN if [ "${BUILD_FOR_OFFLINE}" = 'true' ]; then \ mkdir -p "${HOME}/.paddlex/official_models" \ && cd "${HOME}/.paddlex/official_models" \ && wget https://paddle-model-ecology.bj.bcebos.com/paddlex/official_inference_model/paddle3.0.0/PaddleOCR-VL-1.6_infer.tar \ && tar -xf PaddleOCR-VL-1.6_infer.tar \ && mv PaddleOCR-VL-1.6_infer PaddleOCR-VL-1.6 \ && rm -f PaddleOCR-VL-1.6_infer.tar; \ fi ARG BACKEND ENV BACKEND=${BACKEND} CMD ["/bin/bash", "-c", "paddleocr genai_server --model_name PaddleOCR-VL-1.6-0.9B --host 0.0.0.0 --port 8080 --backend ${BACKEND}"]