From 0eca930b8db630882111d243a69091087f6be6d1 Mon Sep 17 00:00:00 2001 From: "LocalAI [bot]" <139863280+localai-bot@users.noreply.github.com> Date: Sat, 13 Jun 2026 10:43:14 +0200 Subject: [PATCH] fix(gallery): correct meta-backend definitions for platform auto-selection (#10299) fix(gallery): correct meta-backend definitions in backend/index.yaml Backends that ship per-platform images must be meta backends (a capabilities map and NO uri) so the right variant is auto-selected per platform - mirroring llama-cpp/whisper. Several entries were misdefined; fixed here: - Concrete base + metal sibling (could not select the Apple Silicon variant): silero-vad, piper, kitten-tts, local-store (+ their -development). Converted each anchor to a meta and added the cpu- concrete. - mlx family (mlx, mlx-vlm, mlx-audio, mlx-distributed + -development): anchor had both a uri AND a capabilities map, so IsMeta() was false and the map was ignored (always resolved to the metal-darwin image); the metal- target did not exist. Removed the uri and added the missing metal- concretes. - Dangling capability targets: diffusers/kokoro nvidia-l4t-cuda-12 repointed to the existing nvidia-l4t- concrete; coqui nvidia-cuda-13 key removed (no cuda13-coqui image). - locate-anything: the meta existed but its concrete entries were never added, so it was un-installable on every platform. Added the full concrete set plus the locate-anything-development meta, mirroring rfdetr-cpp. Image tags grounded against the published quay.io tags. - trl (cuda12/13): repointed the stale 'cublas-cuda12/13-trl' image tags to the actually-published 'gpu-nvidia-cuda-12/13-trl' tags (fixes #9236). Assisted-by: claude:claude-opus-4-8 [Claude Code] Signed-off-by: Ettore Di Giacinto Co-authored-by: Ettore Di Giacinto --- backend/index.yaml | 271 ++++++++++++++++++++++++++++++++++++++------- 1 file changed, 228 insertions(+), 43 deletions(-) diff --git a/backend/index.yaml b/backend/index.yaml index cfde2fea6..ab971cff5 100644 --- a/backend/index.yaml +++ b/backend/index.yaml @@ -366,6 +366,98 @@ nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-locate-anything-cpp" intel: "intel-sycl-f32-locate-anything-cpp" vulkan: "vulkan-locate-anything-cpp" +- !!merge <<: *locateanything + name: "locate-anything-development" + capabilities: + default: "cpu-locate-anything-cpp-development" + nvidia: "cuda12-locate-anything-cpp-development" + nvidia-cuda-12: "cuda12-locate-anything-cpp-development" + nvidia-cuda-13: "cuda13-locate-anything-cpp-development" + nvidia-l4t: "nvidia-l4t-arm64-locate-anything-cpp-development" + nvidia-l4t-cuda-12: "nvidia-l4t-arm64-locate-anything-cpp-development" + nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-locate-anything-cpp-development" + intel: "intel-sycl-f32-locate-anything-cpp-development" + vulkan: "vulkan-locate-anything-cpp-development" +- !!merge <<: *locateanything + name: "cpu-locate-anything-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-cpu-locate-anything-cpp" + mirrors: + - localai/localai-backends:latest-cpu-locate-anything-cpp +- !!merge <<: *locateanything + name: "cpu-locate-anything-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-cpu-locate-anything-cpp" + mirrors: + - localai/localai-backends:master-cpu-locate-anything-cpp +- !!merge <<: *locateanything + name: "cuda12-locate-anything-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-12-locate-anything-cpp" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-12-locate-anything-cpp +- !!merge <<: *locateanything + name: "cuda12-locate-anything-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-12-locate-anything-cpp" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-12-locate-anything-cpp +- !!merge <<: *locateanything + name: "cuda13-locate-anything-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-13-locate-anything-cpp" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-13-locate-anything-cpp +- !!merge <<: *locateanything + name: "cuda13-locate-anything-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-13-locate-anything-cpp" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-13-locate-anything-cpp +- !!merge <<: *locateanything + name: "nvidia-l4t-arm64-locate-anything-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-nvidia-l4t-arm64-locate-anything-cpp" + mirrors: + - localai/localai-backends:latest-nvidia-l4t-arm64-locate-anything-cpp +- !!merge <<: *locateanything + name: "nvidia-l4t-arm64-locate-anything-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-nvidia-l4t-arm64-locate-anything-cpp" + mirrors: + - localai/localai-backends:master-nvidia-l4t-arm64-locate-anything-cpp +- !!merge <<: *locateanything + name: "cuda13-nvidia-l4t-arm64-locate-anything-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-nvidia-l4t-cuda-13-arm64-locate-anything-cpp" + mirrors: + - localai/localai-backends:latest-nvidia-l4t-cuda-13-arm64-locate-anything-cpp +- !!merge <<: *locateanything + name: "cuda13-nvidia-l4t-arm64-locate-anything-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-nvidia-l4t-cuda-13-arm64-locate-anything-cpp" + mirrors: + - localai/localai-backends:master-nvidia-l4t-cuda-13-arm64-locate-anything-cpp +- !!merge <<: *locateanything + name: "intel-sycl-f32-locate-anything-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-intel-sycl-f32-locate-anything-cpp" + mirrors: + - localai/localai-backends:latest-gpu-intel-sycl-f32-locate-anything-cpp +- !!merge <<: *locateanything + name: "intel-sycl-f32-locate-anything-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-intel-sycl-f32-locate-anything-cpp" + mirrors: + - localai/localai-backends:master-gpu-intel-sycl-f32-locate-anything-cpp +- !!merge <<: *locateanything + name: "intel-sycl-f16-locate-anything-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-intel-sycl-f16-locate-anything-cpp" + mirrors: + - localai/localai-backends:latest-gpu-intel-sycl-f16-locate-anything-cpp +- !!merge <<: *locateanything + name: "intel-sycl-f16-locate-anything-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-intel-sycl-f16-locate-anything-cpp" + mirrors: + - localai/localai-backends:master-gpu-intel-sycl-f16-locate-anything-cpp +- !!merge <<: *locateanything + name: "vulkan-locate-anything-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-vulkan-locate-anything-cpp" + mirrors: + - localai/localai-backends:latest-gpu-vulkan-locate-anything-cpp +- !!merge <<: *locateanything + name: "vulkan-locate-anything-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-vulkan-locate-anything-cpp" + mirrors: + - localai/localai-backends:master-gpu-vulkan-locate-anything-cpp - &vllm name: "vllm" license: apache-2.0 @@ -455,12 +547,9 @@ nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-vllm-omni" - &mlx name: "mlx" - uri: "quay.io/go-skynet/local-ai-backends:latest-metal-darwin-arm64-mlx" icon: https://avatars.githubusercontent.com/u/102832242?s=200&v=4 urls: - https://github.com/ml-explore/mlx-lm - mirrors: - - localai/localai-backends:latest-metal-darwin-arm64-mlx license: MIT description: | Run LLMs with MLX @@ -479,12 +568,9 @@ nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-mlx" - &mlx-vlm name: "mlx-vlm" - uri: "quay.io/go-skynet/local-ai-backends:latest-metal-darwin-arm64-mlx-vlm" icon: https://avatars.githubusercontent.com/u/102832242?s=200&v=4 urls: - https://github.com/Blaizzy/mlx-vlm - mirrors: - - localai/localai-backends:latest-metal-darwin-arm64-mlx-vlm license: MIT description: | Run Vision-Language Models with MLX @@ -505,12 +591,9 @@ nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-mlx-vlm" - &mlx-audio name: "mlx-audio" - uri: "quay.io/go-skynet/local-ai-backends:latest-metal-darwin-arm64-mlx-audio" icon: https://avatars.githubusercontent.com/u/102832242?s=200&v=4 urls: - https://github.com/Blaizzy/mlx-audio - mirrors: - - localai/localai-backends:latest-metal-darwin-arm64-mlx-audio license: MIT description: | Run Audio Models with MLX @@ -531,12 +614,9 @@ nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-mlx-audio" - &mlx-distributed name: "mlx-distributed" - uri: "quay.io/go-skynet/local-ai-backends:latest-metal-darwin-arm64-mlx-distributed" icon: https://avatars.githubusercontent.com/u/102832242?s=200&v=4 urls: - https://github.com/ml-explore/mlx-lm - mirrors: - - localai/localai-backends:latest-metal-darwin-arm64-mlx-distributed license: MIT description: | Run distributed LLM inference with MLX across multiple Apple Silicon Macs @@ -632,7 +712,7 @@ default: "cpu-diffusers" nvidia-cuda-13: "cuda13-diffusers" nvidia-cuda-12: "cuda12-diffusers" - nvidia-l4t-cuda-12: "nvidia-l4t-arm64-diffusers" + nvidia-l4t-cuda-12: "nvidia-l4t-diffusers" nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-diffusers" - &ace-step name: "ace-step" @@ -854,7 +934,7 @@ metal: "metal-kokoro" nvidia-cuda-13: "cuda13-kokoro" nvidia-cuda-12: "cuda12-kokoro" - nvidia-l4t-cuda-12: "nvidia-l4t-arm64-kokoro" + nvidia-l4t-cuda-12: "nvidia-l4t-kokoro" - &kokoros icon: https://avatars.githubusercontent.com/u/166769057?v=4 description: | @@ -897,7 +977,6 @@ intel: "intel-coqui" amd: "rocm-coqui" metal: "metal-coqui" - nvidia-cuda-13: "cuda13-coqui" nvidia-cuda-12: "cuda12-coqui" icon: https://avatars.githubusercontent.com/u/1338804?s=200&v=4 - &outetts @@ -1147,19 +1226,19 @@ icon: https://avatars.githubusercontent.com/u/151010778?s=200&v=4 - &piper name: "piper" - uri: "quay.io/go-skynet/local-ai-backends:latest-piper" icon: https://github.com/OHF-Voice/piper1-gpl/raw/main/etc/logo.png urls: - https://github.com/rhasspy/piper - https://github.com/mudler/go-piper - mirrors: - - localai/localai-backends:latest-piper license: MIT description: | A fast, local neural text to speech system tags: - text-to-speech - TTS + capabilities: + default: "cpu-piper" + metal: "metal-piper" - &opus name: "opus" alias: "opus" @@ -1184,12 +1263,12 @@ metal: "metal-opus-development" - &silero-vad name: "silero-vad" - uri: "quay.io/go-skynet/local-ai-backends:latest-cpu-silero-vad" icon: https://user-images.githubusercontent.com/12515440/89997349-b3523080-dc94-11ea-9906-ca2e8bc50535.png urls: - https://github.com/snakers4/silero-vad - mirrors: - - localai/localai-backends:latest-cpu-silero-vad + capabilities: + default: "cpu-silero-vad" + metal: "metal-silero-vad" description: | Silero VAD: pre-trained enterprise-grade Voice Activity Detector. Silero VAD is a voice activity detection model that can be used to detect whether a given audio contains speech or not. @@ -1200,9 +1279,6 @@ - CPU - &local-store name: "local-store" - uri: "quay.io/go-skynet/local-ai-backends:latest-cpu-local-store" - mirrors: - - localai/localai-backends:latest-cpu-local-store urls: - https://github.com/mudler/LocalAI description: | @@ -1213,11 +1289,11 @@ - open-source - CPU license: MIT + capabilities: + default: "cpu-local-store" + metal: "metal-local-store" - &kitten-tts name: "kitten-tts" - uri: "quay.io/go-skynet/local-ai-backends:latest-kitten-tts" - mirrors: - - localai/localai-backends:latest-kitten-tts urls: - https://github.com/KittenML/KittenTTS description: | @@ -1226,6 +1302,9 @@ - text-to-speech - TTS license: apache-2.0 + capabilities: + default: "cpu-kitten-tts" + metal: "metal-kitten-tts" - &neutts name: "neutts" urls: @@ -1351,25 +1430,89 @@ mirrors: - localai/localai-backends:master-gpu-rocm-hipblas-neutts - !!merge <<: *mlx - name: "mlx-development" + name: "metal-mlx" + uri: "quay.io/go-skynet/local-ai-backends:latest-metal-darwin-arm64-mlx" + mirrors: + - localai/localai-backends:latest-metal-darwin-arm64-mlx +- !!merge <<: *mlx + name: "metal-mlx-development" uri: "quay.io/go-skynet/local-ai-backends:master-metal-darwin-arm64-mlx" mirrors: - localai/localai-backends:master-metal-darwin-arm64-mlx +- !!merge <<: *mlx + name: "mlx-development" + capabilities: + default: "cpu-mlx-development" + nvidia: "cuda12-mlx-development" + metal: "metal-mlx-development" + nvidia-cuda-12: "cuda12-mlx-development" + nvidia-cuda-13: "cuda13-mlx-development" + nvidia-l4t: "nvidia-l4t-mlx-development" + nvidia-l4t-cuda-12: "nvidia-l4t-mlx-development" + nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-mlx-development" - !!merge <<: *mlx-vlm - name: "mlx-vlm-development" + name: "metal-mlx-vlm" + uri: "quay.io/go-skynet/local-ai-backends:latest-metal-darwin-arm64-mlx-vlm" + mirrors: + - localai/localai-backends:latest-metal-darwin-arm64-mlx-vlm +- !!merge <<: *mlx-vlm + name: "metal-mlx-vlm-development" uri: "quay.io/go-skynet/local-ai-backends:master-metal-darwin-arm64-mlx-vlm" mirrors: - localai/localai-backends:master-metal-darwin-arm64-mlx-vlm +- !!merge <<: *mlx-vlm + name: "mlx-vlm-development" + capabilities: + default: "cpu-mlx-vlm-development" + nvidia: "cuda12-mlx-vlm-development" + metal: "metal-mlx-vlm-development" + nvidia-cuda-12: "cuda12-mlx-vlm-development" + nvidia-cuda-13: "cuda13-mlx-vlm-development" + nvidia-l4t: "nvidia-l4t-mlx-vlm-development" + nvidia-l4t-cuda-12: "nvidia-l4t-mlx-vlm-development" + nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-mlx-vlm-development" - !!merge <<: *mlx-audio - name: "mlx-audio-development" + name: "metal-mlx-audio" + uri: "quay.io/go-skynet/local-ai-backends:latest-metal-darwin-arm64-mlx-audio" + mirrors: + - localai/localai-backends:latest-metal-darwin-arm64-mlx-audio +- !!merge <<: *mlx-audio + name: "metal-mlx-audio-development" uri: "quay.io/go-skynet/local-ai-backends:master-metal-darwin-arm64-mlx-audio" mirrors: - localai/localai-backends:master-metal-darwin-arm64-mlx-audio +- !!merge <<: *mlx-audio + name: "mlx-audio-development" + capabilities: + default: "cpu-mlx-audio-development" + nvidia: "cuda12-mlx-audio-development" + metal: "metal-mlx-audio-development" + nvidia-cuda-12: "cuda12-mlx-audio-development" + nvidia-cuda-13: "cuda13-mlx-audio-development" + nvidia-l4t: "nvidia-l4t-mlx-audio-development" + nvidia-l4t-cuda-12: "nvidia-l4t-mlx-audio-development" + nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-mlx-audio-development" - !!merge <<: *mlx-distributed - name: "mlx-distributed-development" + name: "metal-mlx-distributed" + uri: "quay.io/go-skynet/local-ai-backends:latest-metal-darwin-arm64-mlx-distributed" + mirrors: + - localai/localai-backends:latest-metal-darwin-arm64-mlx-distributed +- !!merge <<: *mlx-distributed + name: "metal-mlx-distributed-development" uri: "quay.io/go-skynet/local-ai-backends:master-metal-darwin-arm64-mlx-distributed" mirrors: - localai/localai-backends:master-metal-darwin-arm64-mlx-distributed +- !!merge <<: *mlx-distributed + name: "mlx-distributed-development" + capabilities: + default: "cpu-mlx-distributed-development" + nvidia: "cuda12-mlx-distributed-development" + metal: "metal-mlx-distributed-development" + nvidia-cuda-12: "cuda12-mlx-distributed-development" + nvidia-cuda-13: "cuda13-mlx-distributed-development" + nvidia-l4t: "nvidia-l4t-mlx-distributed-development" + nvidia-l4t-cuda-12: "nvidia-l4t-mlx-distributed-development" + nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-mlx-distributed-development" ## mlx - !!merge <<: *mlx name: "cpu-mlx" @@ -1575,10 +1718,20 @@ mirrors: - localai/localai-backends:master-nvidia-l4t-cuda-13-arm64-mlx-distributed - !!merge <<: *kitten-tts - name: "kitten-tts-development" + name: "cpu-kitten-tts" + uri: "quay.io/go-skynet/local-ai-backends:latest-kitten-tts" + mirrors: + - localai/localai-backends:latest-kitten-tts +- !!merge <<: *kitten-tts + name: "cpu-kitten-tts-development" uri: "quay.io/go-skynet/local-ai-backends:master-kitten-tts" mirrors: - localai/localai-backends:master-kitten-tts +- !!merge <<: *kitten-tts + name: "kitten-tts-development" + capabilities: + default: "cpu-kitten-tts-development" + metal: "metal-kitten-tts-development" - !!merge <<: *kitten-tts name: "metal-kitten-tts" uri: "quay.io/go-skynet/local-ai-backends:latest-metal-darwin-arm64-kitten-tts" @@ -1590,11 +1743,23 @@ mirrors: - localai/localai-backends:master-metal-darwin-arm64-kitten-tts - !!merge <<: *local-store - name: "local-store-development" + name: "cpu-local-store" + alias: "local-store" + uri: "quay.io/go-skynet/local-ai-backends:latest-cpu-local-store" + mirrors: + - localai/localai-backends:latest-cpu-local-store +- !!merge <<: *local-store + name: "cpu-local-store-development" alias: "local-store" uri: "quay.io/go-skynet/local-ai-backends:master-cpu-local-store" mirrors: - localai/localai-backends:master-cpu-local-store +- !!merge <<: *local-store + name: "local-store-development" + alias: "local-store" + capabilities: + default: "cpu-local-store-development" + metal: "metal-local-store-development" - !!merge <<: *local-store name: "metal-local-store" uri: "quay.io/go-skynet/local-ai-backends:latest-metal-darwin-arm64-local-store" @@ -1627,10 +1792,20 @@ mirrors: - localai/localai-backends:master-metal-darwin-arm64-opus - !!merge <<: *silero-vad - name: "silero-vad-development" + name: "cpu-silero-vad" + uri: "quay.io/go-skynet/local-ai-backends:latest-cpu-silero-vad" + mirrors: + - localai/localai-backends:latest-cpu-silero-vad +- !!merge <<: *silero-vad + name: "cpu-silero-vad-development" uri: "quay.io/go-skynet/local-ai-backends:master-cpu-silero-vad" mirrors: - localai/localai-backends:master-cpu-silero-vad +- !!merge <<: *silero-vad + name: "silero-vad-development" + capabilities: + default: "cpu-silero-vad-development" + metal: "metal-silero-vad-development" - !!merge <<: *silero-vad name: "metal-silero-vad" uri: "quay.io/go-skynet/local-ai-backends:latest-metal-darwin-arm64-silero-vad" @@ -1642,10 +1817,20 @@ mirrors: - localai/localai-backends:master-metal-darwin-arm64-silero-vad - !!merge <<: *piper - name: "piper-development" + name: "cpu-piper" + uri: "quay.io/go-skynet/local-ai-backends:latest-piper" + mirrors: + - localai/localai-backends:latest-piper +- !!merge <<: *piper + name: "cpu-piper-development" uri: "quay.io/go-skynet/local-ai-backends:master-piper" mirrors: - localai/localai-backends:master-piper +- !!merge <<: *piper + name: "piper-development" + capabilities: + default: "cpu-piper-development" + metal: "metal-piper-development" - !!merge <<: *piper name: "metal-piper" uri: "quay.io/go-skynet/local-ai-backends:latest-metal-darwin-arm64-piper" @@ -4618,24 +4803,24 @@ - localai/localai-backends:master-cpu-trl - !!merge <<: *trl name: "cuda12-trl" - uri: "quay.io/go-skynet/local-ai-backends:latest-cublas-cuda12-trl" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-12-trl" mirrors: - - localai/localai-backends:latest-cublas-cuda12-trl + - localai/localai-backends:latest-gpu-nvidia-cuda-12-trl - !!merge <<: *trl name: "cuda12-trl-development" - uri: "quay.io/go-skynet/local-ai-backends:master-cublas-cuda12-trl" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-12-trl" mirrors: - - localai/localai-backends:master-cublas-cuda12-trl + - localai/localai-backends:master-gpu-nvidia-cuda-12-trl - !!merge <<: *trl name: "cuda13-trl" - uri: "quay.io/go-skynet/local-ai-backends:latest-cublas-cuda13-trl" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-13-trl" mirrors: - - localai/localai-backends:latest-cublas-cuda13-trl + - localai/localai-backends:latest-gpu-nvidia-cuda-13-trl - !!merge <<: *trl name: "cuda13-trl-development" - uri: "quay.io/go-skynet/local-ai-backends:master-cublas-cuda13-trl" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-13-trl" mirrors: - - localai/localai-backends:master-cublas-cuda13-trl + - localai/localai-backends:master-gpu-nvidia-cuda-13-trl ## llama.cpp quantization backend - &llama-cpp-quantization name: "llama-cpp-quantization"