diff --git a/.github/workflows/backend.yml b/.github/workflows/backend.yml index 5a0a6b32e688..46a390fa6d1b 100644 --- a/.github/workflows/backend.yml +++ b/.github/workflows/backend.yml @@ -2,6 +2,7 @@ name: 'build backend container images' on: + pull_request: push: branches: - master @@ -63,6 +64,18 @@ jobs: backend: "llama-cpp" dockerfile: "./backend/Dockerfile.llama-cpp" context: "./" + - build-type: '' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-cpu-transformers' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:22.04" + skip-drivers: 'true' + backend: "transformers" + dockerfile: "./backend/Dockerfile.python" + context: "./backend" - build-type: 'cublas' cuda-major-version: "11" cuda-minor-version: "7" @@ -957,6 +970,20 @@ jobs: backend: "kitten-tts" dockerfile: "./backend/Dockerfile.python" context: "./backend" + transformers-darwin: + uses: ./.github/workflows/backend_build_darwin.yml + with: + backend: "transformers" + build-type: "mps" + go-version: "1.24.x" + tag-suffix: "-metal-darwin-arm64-transformers" + use-pip: true + runs-on: "macOS-14" + secrets: + dockerUsername: ${{ secrets.DOCKERHUB_USERNAME }} + dockerPassword: ${{ secrets.DOCKERHUB_PASSWORD }} + quayUsername: ${{ secrets.LOCALAI_REGISTRY_USERNAME }} + quayPassword: ${{ secrets.LOCALAI_REGISTRY_PASSWORD }} diffusers-darwin: uses: ./.github/workflows/backend_build_darwin.yml with: diff --git a/backend/index.yaml b/backend/index.yaml index 8398fb0d4927..ea4a77aca6ce 100644 --- a/backend/index.yaml +++ b/backend/index.yaml @@ -183,6 +183,8 @@ nvidia: "cuda12-transformers" intel: "intel-transformers" amd: "rocm-transformers" + metal: "metal-transformers" + default: "cpu-transformers" - &diffusers name: "diffusers" icon: https://raw.githubusercontent.com/huggingface/diffusers/main/docs/source/en/imgs/diffusers_library.jpg @@ -851,6 +853,28 @@ nvidia: "cuda12-transformers-development" intel: "intel-transformers-development" amd: "rocm-transformers-development" + default: "cpu-transformers-development" + metal: "metal-transformers-development" +- !!merge <<: *transformers + name: "cpu-transformers" + uri: "quay.io/go-skynet/local-ai-backends:latest-cpu-transformers" + mirrors: + - localai/localai-backends:latest-cpu-transformers +- !!merge <<: *transformers + name: "cpu-transformers-development" + uri: "quay.io/go-skynet/local-ai-backends:master-cpu-transformers" + mirrors: + - localai/localai-backends:master-cpu-transformers +- !!merge <<: *transformers + name: "metal-transformers" + uri: "quay.io/go-skynet/local-ai-backends:latest-metal-darwin-arm64-transformers" + mirrors: + - localai/localai-backends:latest-metal-darwin-arm64-transformers +- !!merge <<: *transformers + name: "metal-transformers-development" + uri: "quay.io/go-skynet/local-ai-backends:master-metal-darwin-arm64-transformers" + mirrors: + - localai/localai-backends:master-metal-darwin-arm64-transformers - !!merge <<: *transformers name: "cuda12-transformers" uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-12-transformers" diff --git a/backend/python/transformers/requirements-cpu.txt b/backend/python/transformers/requirements-cpu.txt index c5dd77003604..5aa1144b7b6d 100644 --- a/backend/python/transformers/requirements-cpu.txt +++ b/backend/python/transformers/requirements-cpu.txt @@ -1,3 +1,4 @@ +--extra-index-url https://download.pytorch.org/whl/cpu torch==2.7.1 llvmlite==0.43.0 numba==0.60.0 diff --git a/backend/python/transformers/requirements-mps.txt b/backend/python/transformers/requirements-mps.txt new file mode 100644 index 000000000000..d444dea43608 --- /dev/null +++ b/backend/python/transformers/requirements-mps.txt @@ -0,0 +1,9 @@ +torch==2.7.1 +accelerate +llvmlite==0.43.0 +numba==0.60.0 +transformers +bitsandbytes +outetts +sentence-transformers==5.1.0 +protobuf==6.32.0 \ No newline at end of file