From 5c2d38263895fb93fb7e126b38ec1440a2d61b53 Mon Sep 17 00:00:00 2001 From: Nicolas Mowen Date: Tue, 17 Sep 2024 12:42:35 -0600 Subject: [PATCH] Use new install strategy to remove onnxruntime and then install post wheels --- docker/main/Dockerfile | 12 ++++++-- docker/main/requirements-wheels-nodeps.txt | 32 ---------------------- docker/main/requirements-wheels-post.txt | 3 ++ docker/main/requirements-wheels.txt | 5 ++-- 4 files changed, 16 insertions(+), 36 deletions(-) delete mode 100644 docker/main/requirements-wheels-nodeps.txt create mode 100644 docker/main/requirements-wheels-post.txt diff --git a/docker/main/Dockerfile b/docker/main/Dockerfile index 4d238f29b..3cd73cf95 100644 --- a/docker/main/Dockerfile +++ b/docker/main/Dockerfile @@ -170,8 +170,8 @@ RUN /build_pysqlite3.sh COPY docker/main/requirements-wheels.txt /requirements-wheels.txt RUN pip3 wheel --wheel-dir=/wheels -r /requirements-wheels.txt -COPY docker/main/requirements-wheels-nodeps.txt /requirements-wheels-nodeps.txt -RUN pip3 wheel --no-deps --wheel-dir=/wheels -r /requirements-wheels-nodeps.txt +COPY docker/main/requirements-wheels-post.txt /requirements-wheels-post.txt +RUN pip3 wheel --no-deps --wheel-dir=/wheels-post -r /requirements-wheels-post.txt # Collect deps in a single layer @@ -215,6 +215,14 @@ RUN --mount=type=bind,from=wheels,source=/wheels,target=/deps/wheels \ python3 -m pip install --upgrade pip && \ pip3 install -U /deps/wheels/*.whl +# We have to uninstall this dependency specifically +# as it will break onnxruntime-openvino +RUN pip3 uninstall -y onnxruntime + +RUN --mount=type=bind,from=wheels,source=/wheels-post,target=/deps/wheels \ + python3 -m pip install --upgrade pip && \ + pip3 install -U /deps/wheels/*.whl + COPY --from=deps-rootfs / / RUN ldconfig diff --git a/docker/main/requirements-wheels-nodeps.txt b/docker/main/requirements-wheels-nodeps.txt deleted file mode 100644 index bead6ca66..000000000 --- a/docker/main/requirements-wheels-nodeps.txt +++ /dev/null @@ -1,32 +0,0 @@ -# Embeddings -chromadb == 0.5.0 -onnx_clip == 4.0.* - -# chromadb dependencies -bcrypt>=4.0.1 -chroma-hnswlib==0.7.6 -fastapi>=0.95.2 -graphlib_backport==1.0.3; python_version < '3.9' -grpcio>=1.58.0 -httpx>=0.27.0 -importlib-resources -kubernetes>=28.1.0 -mmh3>=4.0.1 -numpy>=1.22.5, <2.0.0 -opentelemetry-api>=1.2.0 -opentelemetry-exporter-otlp-proto-grpc>=1.24.0 -opentelemetry-instrumentation-fastapi>=0.41b0 -opentelemetry-sdk>=1.2.0 -orjson>=3.9.12, < 3.10.6 # 3.10.7 is currently missing a wheel for x86 glibc -overrides>=7.3.1 -posthog>=2.4.0 -pydantic>=1.9 -pypika>=0.48.9 -PyYAML>=6.0.0 -rich>=10.11.0 -tenacity>=8.2.3 -tokenizers>=0.13.2 -tqdm>=4.65.0 -typer>=0.9.0 -typing_extensions>=4.5.0 -uvicorn[standard]>=0.18.3 diff --git a/docker/main/requirements-wheels-post.txt b/docker/main/requirements-wheels-post.txt new file mode 100644 index 000000000..c4ed33844 --- /dev/null +++ b/docker/main/requirements-wheels-post.txt @@ -0,0 +1,3 @@ +# ONNX +onnxruntime-openvino == 1.18.* ; platform_machine == 'x86_64' +onnxruntime == 1.18.* ; platform_machine == 'aarch64' \ No newline at end of file diff --git a/docker/main/requirements-wheels.txt b/docker/main/requirements-wheels.txt index e0db1d7b7..639d4b3c8 100644 --- a/docker/main/requirements-wheels.txt +++ b/docker/main/requirements-wheels.txt @@ -30,8 +30,9 @@ ws4py == 0.5.* unidecode == 1.3.* # OpenVino & ONNX openvino == 2024.1.* -onnxruntime-openvino == 1.18.* ; platform_machine == 'x86_64' -onnxruntime == 1.18.* ; platform_machine == 'aarch64' +# Embeddings +chromadb == 0.5.0 +onnx_clip == 4.0.* # Generative AI google-generativeai == 0.6.* ollama == 0.2.*