ARG BASE_IMAGE=ubuntu:22.04 FROM ${BASE_IMAGE} AS builder ARG BACKEND=rerankers ARG BUILD_TYPE ENV BUILD_TYPE=${BUILD_TYPE} ARG CUDA_MAJOR_VERSION ARG CUDA_MINOR_VERSION ARG SKIP_DRIVERS=false ENV CUDA_MAJOR_VERSION=${CUDA_MAJOR_VERSION} ENV CUDA_MINOR_VERSION=${CUDA_MINOR_VERSION} ENV DEBIAN_FRONTEND=noninteractive ARG TARGETARCH ARG TARGETVARIANT RUN apt-get update && \ apt-get install -y --no-install-recommends \ build-essential \ ccache \ ca-certificates \ espeak-ng \ curl \ libssl-dev \ git \ git-lfs \ unzip clang \ upx-ucl \ curl python3-pip \ python-is-python3 \ python3-dev llvm \ python3-venv make && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* && \ pip install --upgrade pip # Cuda ENV PATH=/usr/local/cuda/bin:${PATH} # HipBLAS requirements ENV PATH=/opt/rocm/bin:${PATH} # Vulkan requirements RUN < /run/localai/capability && \ if [ "amd64" = "$TARGETARCH" ]; then wget -qO - https://packages.lunarg.com/lunarg-signing-key-pub.asc | apt-key add - && \ wget -qO /etc/apt/sources.list.d/lunarg-vulkan-jammy.list https://packages.lunarg.com/vulkan/lunarg-vulkan-jammy.list && \ apt-get update && \ apt-get install -y \ vulkan-sdk && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* fi if [ "arm64" = "$TARGETARCH" ]; then # For ARM64, we need to build the Vulkan SDK manually as there are no packages available mkdir vulkan && cd vulkan && curl -L -o vulkan-sdk.tar.xz https://github.com/mudler/vulkan-sdk-arm/releases/download/1.4.321.1/vulkansdk-ubuntu-22.04-arm-1.4.321.1.tar.xz && \ tar -xvf vulkan-sdk.tar.xz && \ rm vulkan-sdk.tar.xz && \ cd * && \ cp -rfv aarch64/* /usr/ && \ cd ../.. && \ rm -rf vulkan fi fi EOT # CuBLAS requirements RUN <