mirror of
https://github.com/mudler/LocalAI
synced 2026-05-24 09:28:23 +00:00
Some checks are pending
build backend container images / backend-jobs (moonshine, ubuntu:24.04, , ./, , , ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, true, auto, -cpu-moonshine, 2404) (push) Waiting to run
build backend container images / backend-jobs (vllm, ubuntu:24.04, , ./, , , ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, true, auto, -cpu-vllm, 2404) (push) Waiting to run
build backend container images / backend-jobs (ace-step, intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04, intel, ./, , , ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, false, auto, -gpu-intel-ace-step, 2404) (push) Waiting to run
build backend container images / backend-jobs (ace-step, rocm/dev-ubuntu-24.04:7.2.1, hipblas, ./, , , ./backend/Dockerfile.python, linux/amd64, arc-runner-set, false, auto, -gpu-rocm-hipblas-ace-step, 2404) (push) Waiting to run
build backend container images / backend-jobs (ace-step, ubuntu:24.04, , ./, , , ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, true, auto, -cpu-ace-step, 2404) (push) Waiting to run
build backend container images / backend-jobs (ace-step, ubuntu:24.04, cublas, ./, 12, 8, ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, false, auto, -gpu-nvidia-cuda-12-ace-step, 2404) (push) Waiting to run
build backend container images / backend-jobs (ace-step, ubuntu:24.04, cublas, ./, 13, 0, ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, false, auto, -gpu-nvidia-cuda-13-ace-step, 2404) (push) Waiting to run
build backend container images / backend-jobs (acestep-cpp, intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04, sycl_f16, ./, , , ./backend/Dockerfile.golang, linux/amd64, ubuntu-latest, false, auto, -gpu-intel-sycl-f16-acestep-cpp, 2404) (push) Waiting to run
build backend container images / backend-jobs (acestep-cpp, intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04, sycl_f32, ./, , , ./backend/Dockerfile.golang, linux/amd64, ubuntu-latest, false, auto, -gpu-intel-sycl-f32-acestep-cpp, 2404) (push) Waiting to run
build backend container images / backend-jobs (acestep-cpp, nvcr.io/nvidia/l4t-jetpack:r36.4.0, cublas, ./, 12, 0, ./backend/Dockerfile.golang, linux/arm64, ubuntu-24.04-arm, false, auto, -nvidia-l4t-arm64-acestep-cpp, 2204) (push) Waiting to run
build backend container images / backend-jobs (acestep-cpp, rocm/dev-ubuntu-24.04:7.2.1, hipblas, ./, , , ./backend/Dockerfile.golang, linux/amd64, ubuntu-latest, false, auto, -gpu-rocm-hipblas-acestep-cpp, 2404) (push) Waiting to run
build backend container images / backend-jobs (acestep-cpp, ubuntu:24.04, , ./, , , ./backend/Dockerfile.golang, linux/amd64,linux/arm64, ubuntu-latest, false, auto, -cpu-acestep-cpp, 2404) (push) Waiting to run
build backend container images / backend-jobs (acestep-cpp, ubuntu:24.04, cublas, ./, 12, 8, ./backend/Dockerfile.golang, linux/amd64, ubuntu-latest, false, auto, -gpu-nvidia-cuda-12-acestep-cpp, 2404) (push) Waiting to run
build backend container images / backend-jobs (acestep-cpp, ubuntu:24.04, cublas, ./, 13, 0, ./backend/Dockerfile.golang, linux/amd64, ubuntu-latest, false, auto, -gpu-nvidia-cuda-13-acestep-cpp, 2404) (push) Waiting to run
build backend container images / backend-jobs (chatterbox, ubuntu:24.04, cublas, ./, 12, 8, ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, false, auto, -gpu-nvidia-cuda-12-chatterbox, 2404) (push) Waiting to run
build backend container images / backend-jobs (chatterbox, ubuntu:24.04, cublas, ./, 13, 0, ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, false, auto, -gpu-nvidia-cuda-13-chatterbox, 2404) (push) Waiting to run
build backend container images / backend-jobs (chatterbox, ubuntu:24.04, l4t, ./, 13, 0, ./backend/Dockerfile.python, linux/arm64, ubuntu-24.04-arm, false, auto, -nvidia-l4t-cuda-13-arm64-chatterbox, 2404) (push) Waiting to run
build backend container images / backend-jobs (coqui, intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04, intel, ./, , , ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, false, auto, -gpu-intel-coqui, 2404) (push) Waiting to run
build backend container images / backend-jobs (coqui, rocm/dev-ubuntu-24.04:7.2.1, hipblas, ./, , , ./backend/Dockerfile.python, linux/amd64, bigger-runner, false, auto, -gpu-rocm-hipblas-coqui, 2404) (push) Waiting to run
build backend container images / backend-jobs (coqui, ubuntu:24.04, cublas, ./, 12, 9, ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, false, auto, -gpu-nvidia-cuda-12-coqui, 2404) (push) Waiting to run
build backend container images / backend-jobs (diffusers, intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04, intel, ./, , , ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, false, auto, -gpu-intel-diffusers, 2404) (push) Waiting to run
build backend container images / backend-jobs (diffusers, nvcr.io/nvidia/l4t-jetpack:r36.4.0, l4t, ./, 12, 0, ./backend/Dockerfile.python, linux/arm64, ubuntu-24.04-arm, true, auto, -nvidia-l4t-diffusers, 2204) (push) Waiting to run
build backend container images / backend-jobs (diffusers, rocm/dev-ubuntu-24.04:7.2.1, hipblas, ./, , , ./backend/Dockerfile.python, linux/amd64, arc-runner-set, false, auto, -gpu-rocm-hipblas-diffusers, 2404) (push) Waiting to run
build backend container images / backend-jobs (faster-qwen3-tts, nvcr.io/nvidia/l4t-jetpack:r36.4.0, l4t, ./, 12, 0, ./backend/Dockerfile.python, linux/arm64, ubuntu-24.04-arm, true, auto, -nvidia-l4t-faster-qwen3-tts, 2204) (push) Waiting to run
build backend container images / backend-jobs (faster-qwen3-tts, ubuntu:24.04, cublas, ./, 13, 0, ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, false, auto, -gpu-nvidia-cuda-13-faster-qwen3-tts, 2404) (push) Waiting to run
build backend container images / backend-jobs (faster-whisper, intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04, intel, ./, , , ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, false, auto, -gpu-intel-faster-whisper, 2404) (push) Waiting to run
build backend container images / backend-jobs (fish-speech, rocm/dev-ubuntu-24.04:7.2.1, hipblas, ./, , , ./backend/Dockerfile.python, linux/amd64, arc-runner-set, false, auto, -gpu-rocm-hipblas-fish-speech, 2404) (push) Waiting to run
build backend container images / backend-jobs (fish-speech, ubuntu:24.04, , ./, , , ./backend/Dockerfile.python, linux/amd64,linux/arm64, ubuntu-latest, false, auto, -cpu-fish-speech, 2404) (push) Waiting to run
build backend container images / backend-jobs (fish-speech, ubuntu:24.04, cublas, ./, 12, 8, ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, false, auto, -gpu-nvidia-cuda-12-fish-speech, 2404) (push) Waiting to run
build backend container images / backend-jobs (fish-speech, ubuntu:24.04, cublas, ./, 13, 0, ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, false, auto, -gpu-nvidia-cuda-13-fish-speech, 2404) (push) Waiting to run
build backend container images / backend-jobs (acestep-cpp, ubuntu:24.04, cublas, ./, 13, 0, ./backend/Dockerfile.golang, linux/arm64, ubuntu-24.04-arm, false, auto, -nvidia-l4t-cuda-13-arm64-acestep-cpp, 2404) (push) Waiting to run
build backend container images / backend-jobs (acestep-cpp, ubuntu:24.04, vulkan, ./, , , ./backend/Dockerfile.golang, linux/amd64,linux/arm64, ubuntu-latest, false, auto, -gpu-vulkan-acestep-cpp, 2404) (push) Waiting to run
build backend container images / backend-jobs (chatterbox, nvcr.io/nvidia/l4t-jetpack:r36.4.0, l4t, ./, 12, 0, ./backend/Dockerfile.python, linux/arm64, ubuntu-24.04-arm, true, auto, -nvidia-l4t-arm64-chatterbox, 2204) (push) Waiting to run
build backend container images / backend-jobs (chatterbox, ubuntu:24.04, , ./, , , ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, true, auto, -cpu-chatterbox, 2404) (push) Waiting to run
build backend container images / backend-jobs (diffusers, ubuntu:24.04, , ./, , , ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, true, auto, -cpu-diffusers, 2404) (push) Waiting to run
build backend container images / backend-jobs (diffusers, ubuntu:24.04, cublas, ./, 12, 8, ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, false, auto, -gpu-nvidia-cuda-12-diffusers, 2404) (push) Waiting to run
build backend container images / backend-jobs (diffusers, ubuntu:24.04, cublas, ./, 13, 0, ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, false, auto, -gpu-nvidia-cuda-13-diffusers, 2404) (push) Waiting to run
build backend container images / backend-jobs (diffusers, ubuntu:24.04, l4t, ./, 13, 0, ./backend/Dockerfile.python, linux/arm64, ubuntu-24.04-arm, false, auto, -nvidia-l4t-cuda-13-arm64-diffusers, 2404) (push) Waiting to run
build backend container images / backend-jobs (faster-qwen3-tts, ubuntu:24.04, cublas, ./, 12, 8, ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, false, auto, -gpu-nvidia-cuda-12-faster-qwen3-tts, 2404) (push) Waiting to run
build backend container images / backend-jobs (faster-qwen3-tts, ubuntu:24.04, l4t, ./, 13, 0, ./backend/Dockerfile.python, linux/arm64, ubuntu-24.04-arm, false, auto, -nvidia-l4t-cuda-13-arm64-faster-qwen3-tts, 2404) (push) Waiting to run
build backend container images / backend-jobs (faster-whisper, nvcr.io/nvidia/l4t-jetpack:r36.4.0, l4t, ./, 12, 0, ./backend/Dockerfile.python, linux/arm64, ubuntu-24.04-arm, true, auto, -nvidia-l4t-faster-whisper, 2204) (push) Waiting to run
build backend container images / backend-jobs (faster-whisper, rocm/dev-ubuntu-24.04:7.2.1, hipblas, ./, , , ./backend/Dockerfile.python, linux/amd64, bigger-runner, false, auto, -gpu-rocm-hipblas-faster-whisper, 2404) (push) Waiting to run
build backend container images / backend-jobs (faster-whisper, ubuntu:24.04, , ./, , , ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, true, auto, -cpu-faster-whisper, 2404) (push) Waiting to run
build backend container images / backend-jobs (faster-whisper, ubuntu:24.04, cublas, ./, 12, 8, ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, false, auto, -gpu-nvidia-cuda-12-faster-whisper, 2404) (push) Waiting to run
build backend container images / backend-jobs (faster-whisper, ubuntu:24.04, cublas, ./, 13, 0, ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, false, auto, -gpu-nvidia-cuda-13-faster-whisper, 2404) (push) Waiting to run
build backend container images / backend-jobs (faster-whisper, ubuntu:24.04, l4t, ./, 13, 0, ./backend/Dockerfile.python, linux/arm64, ubuntu-24.04-arm, false, auto, -nvidia-l4t-cuda-13-arm64-faster-whisper, 2404) (push) Waiting to run
build backend container images / backend-jobs (fish-speech, intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04, intel, ./, , , ./backend/Dockerfile.python, linux/amd64, arc-runner-set, false, auto, -gpu-intel-fish-speech, 2404) (push) Waiting to run
build backend container images / backend-jobs (fish-speech, nvcr.io/nvidia/l4t-jetpack:r36.4.0, l4t, ./, 12, 0, ./backend/Dockerfile.python, linux/arm64, ubuntu-24.04-arm, true, auto, -nvidia-l4t-fish-speech, 2204) (push) Waiting to run
build backend container images / backend-jobs (fish-speech, ubuntu:24.04, l4t, ./, 13, 0, ./backend/Dockerfile.python, linux/arm64, ubuntu-24.04-arm, false, auto, -nvidia-l4t-cuda-13-arm64-fish-speech, 2404) (push) Waiting to run
build backend container images / backend-jobs (ik-llama-cpp, ubuntu:24.04, , ./, , , ./backend/Dockerfile.ik-llama-cpp, linux/amd64, bigger-runner, false, auto, -cpu-ik-llama-cpp, 2404) (push) Waiting to run
build backend container images / backend-jobs (insightface, ubuntu:24.04, , ./, , , ./backend/Dockerfile.python, linux/amd64,linux/arm64, ubuntu-latest, false, auto, -cpu-insightface, 2404) (push) Waiting to run
build backend container images / backend-jobs (insightface, ubuntu:24.04, cublas, ./, 12, 8, ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, false, auto, -gpu-nvidia-cuda-12-insightface, 2404) (push) Waiting to run
build backend container images / backend-jobs (kitten-tts, ubuntu:24.04, , ./, , , ./backend/Dockerfile.python, linux/amd64,linux/arm64, ubuntu-latest, false, auto, -kitten-tts, 2404) (push) Waiting to run
build backend container images / backend-jobs (kokoro, nvcr.io/nvidia/l4t-jetpack:r36.4.0, l4t, ./, 12, 0, ./backend/Dockerfile.python, linux/arm64, ubuntu-24.04-arm, true, auto, -nvidia-l4t-kokoro, 2204) (push) Waiting to run
build backend container images / backend-jobs (kokoro, rocm/dev-ubuntu-24.04:7.2.1, hipblas, ./, , , ./backend/Dockerfile.python, linux/amd64, arc-runner-set, false, auto, -gpu-rocm-hipblas-kokoro, 2404) (push) Waiting to run
build backend container images / backend-jobs (kokoro, ubuntu:24.04, cublas, ./, 12, 8, ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, false, auto, -gpu-nvidia-cuda-12-kokoro, 2404) (push) Waiting to run
build backend container images / backend-jobs (kokoro, ubuntu:24.04, cublas, ./, 13, 0, ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, false, auto, -gpu-nvidia-cuda-13-kokoro, 2404) (push) Waiting to run
build backend container images / backend-jobs (kokoros, ubuntu:24.04, , ./, , , ./backend/Dockerfile.rust, linux/amd64, ubuntu-latest, false, auto, -cpu-kokoros, 2404) (push) Waiting to run
build backend container images / backend-jobs (llama-cpp, intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04, sycl_f16, ./, , , ./backend/Dockerfile.llama-cpp, linux/amd64, ubuntu-latest, false, auto, -gpu-intel-sycl-f16-llama-cpp, 2404) (push) Waiting to run
build backend container images / backend-jobs (llama-cpp, nvcr.io/nvidia/l4t-jetpack:r36.4.0, cublas, ./, 12, 0, ./backend/Dockerfile.llama-cpp, linux/arm64, ubuntu-24.04-arm, false, auto, -nvidia-l4t-arm64-llama-cpp, 2204) (push) Waiting to run
build backend container images / backend-jobs (llama-cpp, rocm/dev-ubuntu-24.04:7.2.1, hipblas, ./, , , ./backend/Dockerfile.llama-cpp, linux/amd64, ubuntu-latest, false, auto, -gpu-rocm-hipblas-llama-cpp, 2404) (push) Waiting to run
build backend container images / backend-jobs (llama-cpp, ubuntu:24.04, , ./, , , ./backend/Dockerfile.llama-cpp, linux/amd64,linux/arm64, bigger-runner, false, auto, -cpu-llama-cpp, 2404) (push) Waiting to run
build backend container images / backend-jobs (llama-cpp, ubuntu:24.04, cublas, ./, 12, 8, ./backend/Dockerfile.llama-cpp, linux/amd64, bigger-runner, false, auto, -gpu-nvidia-cuda-12-llama-cpp, 2404) (push) Waiting to run
build backend container images / backend-jobs (llama-cpp, ubuntu:24.04, cublas, ./, 13, 0, ./backend/Dockerfile.llama-cpp, linux/amd64, ubuntu-latest, false, auto, -gpu-nvidia-cuda-13-llama-cpp, 2404) (push) Waiting to run
build backend container images / backend-jobs (llama-cpp, ubuntu:24.04, cublas, ./, 13, 0, ./backend/Dockerfile.llama-cpp, linux/arm64, ubuntu-24.04-arm, false, auto, -nvidia-l4t-cuda-13-arm64-llama-cpp, 2404) (push) Waiting to run
build backend container images / backend-jobs (llama-cpp, ubuntu:24.04, vulkan, ./, , , ./backend/Dockerfile.llama-cpp, linux/amd64,linux/arm64, bigger-runner, false, auto, -gpu-vulkan-llama-cpp, 2404) (push) Waiting to run
build backend container images / backend-jobs (kokoro, intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04, intel, ./, , , ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, false, auto, -gpu-intel-kokoro, 2404) (push) Waiting to run
build backend container images / backend-jobs (llama-cpp, intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04, sycl_f32, ./, , , ./backend/Dockerfile.llama-cpp, linux/amd64, ubuntu-latest, false, auto, -gpu-intel-sycl-f32-llama-cpp, 2404) (push) Waiting to run
build backend container images / backend-jobs (llama-cpp-quantization, ubuntu:24.04, , ./, , , ./backend/Dockerfile.python, linux/amd64,linux/arm64, ubuntu-latest, true, auto, -cpu-llama-cpp-quantization, 2404) (push) Waiting to run
build backend container images / backend-jobs (local-store, ubuntu:24.04, , ./, , , ./backend/Dockerfile.golang, linux/amd64,linux/arm64, ubuntu-latest, false, auto, -cpu-local-store, 2404) (push) Waiting to run
build backend container images / backend-jobs (mlx, nvcr.io/nvidia/l4t-jetpack:r36.4.0, l4t, ./, 12, 0, ./backend/Dockerfile.python, linux/arm64, ubuntu-24.04-arm, true, auto, -nvidia-l4t-mlx, 2204) (push) Waiting to run
build backend container images / backend-jobs (mlx, ubuntu:24.04, , ./, , , ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, true, auto, -cpu-mlx, 2404) (push) Waiting to run
build backend container images / backend-jobs (mlx, ubuntu:24.04, cublas, ./, 12, 8, ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, false, auto, -gpu-nvidia-cuda-12-mlx, 2404) (push) Waiting to run
build backend container images / backend-jobs (mlx, ubuntu:24.04, cublas, ./, 13, 0, ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, false, auto, -gpu-nvidia-cuda-13-mlx, 2404) (push) Waiting to run
build backend container images / backend-jobs (mlx, ubuntu:24.04, l4t, ./, 13, 0, ./backend/Dockerfile.python, linux/arm64, ubuntu-24.04-arm, false, auto, -nvidia-l4t-cuda-13-arm64-mlx, 2404) (push) Waiting to run
build backend container images / backend-jobs (mlx-audio, nvcr.io/nvidia/l4t-jetpack:r36.4.0, l4t, ./, 12, 0, ./backend/Dockerfile.python, linux/arm64, ubuntu-24.04-arm, true, auto, -nvidia-l4t-mlx-audio, 2204) (push) Waiting to run
build backend container images / backend-jobs (mlx-audio, ubuntu:24.04, , ./, , , ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, true, auto, -cpu-mlx-audio, 2404) (push) Waiting to run
build backend container images / backend-jobs (mlx-audio, ubuntu:24.04, cublas, ./, 12, 8, ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, false, auto, -gpu-nvidia-cuda-12-mlx-audio, 2404) (push) Waiting to run
build backend container images / backend-jobs (mlx-audio, ubuntu:24.04, cublas, ./, 13, 0, ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, false, auto, -gpu-nvidia-cuda-13-mlx-audio, 2404) (push) Waiting to run
build backend container images / backend-jobs (mlx-audio, ubuntu:24.04, l4t, ./, 13, 0, ./backend/Dockerfile.python, linux/arm64, ubuntu-24.04-arm, false, auto, -nvidia-l4t-cuda-13-arm64-mlx-audio, 2404) (push) Waiting to run
build backend container images / backend-jobs (mlx-distributed, nvcr.io/nvidia/l4t-jetpack:r36.4.0, l4t, ./, 12, 0, ./backend/Dockerfile.python, linux/arm64, ubuntu-24.04-arm, true, auto, -nvidia-l4t-mlx-distributed, 2204) (push) Waiting to run
build backend container images / backend-jobs (mlx-distributed, ubuntu:24.04, , ./, , , ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, true, auto, -cpu-mlx-distributed, 2404) (push) Waiting to run
build backend container images / backend-jobs (mlx-distributed, ubuntu:24.04, cublas, ./, 12, 8, ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, false, auto, -gpu-nvidia-cuda-12-mlx-distributed, 2404) (push) Waiting to run
build backend container images / backend-jobs (mlx-distributed, ubuntu:24.04, cublas, ./, 13, 0, ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, false, auto, -gpu-nvidia-cuda-13-mlx-distributed, 2404) (push) Waiting to run
build backend container images / backend-jobs (mlx-distributed, ubuntu:24.04, l4t, ./, 13, 0, ./backend/Dockerfile.python, linux/arm64, ubuntu-24.04-arm, false, auto, -nvidia-l4t-cuda-13-arm64-mlx-distributed, 2404) (push) Waiting to run
build backend container images / backend-jobs (mlx-vlm, nvcr.io/nvidia/l4t-jetpack:r36.4.0, l4t, ./, 12, 0, ./backend/Dockerfile.python, linux/arm64, ubuntu-24.04-arm, true, auto, -nvidia-l4t-mlx-vlm, 2204) (push) Waiting to run
build backend container images / backend-jobs (mlx-vlm, ubuntu:24.04, , ./, , , ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, true, auto, -cpu-mlx-vlm, 2404) (push) Waiting to run
build backend container images / backend-jobs (mlx-vlm, ubuntu:24.04, cublas, ./, 12, 8, ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, false, auto, -gpu-nvidia-cuda-12-mlx-vlm, 2404) (push) Waiting to run
build backend container images / backend-jobs (mlx-vlm, ubuntu:24.04, cublas, ./, 13, 0, ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, false, auto, -gpu-nvidia-cuda-13-mlx-vlm, 2404) (push) Waiting to run
build backend container images / backend-jobs (mlx-vlm, ubuntu:24.04, l4t, ./, 13, 0, ./backend/Dockerfile.python, linux/arm64, ubuntu-24.04-arm, false, auto, -nvidia-l4t-cuda-13-arm64-mlx-vlm, 2404) (push) Waiting to run
build backend container images / backend-jobs (moonshine, ubuntu:24.04, cublas, ./, 12, 8, ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, false, auto, -gpu-nvidia-cuda-12-moonshine, 2404) (push) Waiting to run
build backend container images / backend-jobs (moonshine, ubuntu:24.04, cublas, ./, 13, 0, ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, false, auto, -gpu-nvidia-cuda-13-moonshine, 2404) (push) Waiting to run
build backend container images / backend-jobs (nemo, intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04, intel, ./, , , ./backend/Dockerfile.python, linux/amd64, arc-runner-set, false, auto, -gpu-intel-nemo, 2404) (push) Waiting to run
build backend container images / backend-jobs (nemo, rocm/dev-ubuntu-24.04:7.2.1, hipblas, ./, , , ./backend/Dockerfile.python, linux/amd64, arc-runner-set, false, auto, -gpu-rocm-hipblas-nemo, 2404) (push) Waiting to run
build backend container images / backend-jobs (nemo, ubuntu:24.04, , ./, , , ./backend/Dockerfile.python, linux/amd64,linux/arm64, ubuntu-latest, false, auto, -cpu-nemo, 2404) (push) Waiting to run
build backend container images / backend-jobs (nemo, ubuntu:24.04, cublas, ./, 12, 8, ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, false, auto, -gpu-nvidia-cuda-12-nemo, 2404) (push) Waiting to run
build backend container images / backend-jobs (nemo, ubuntu:24.04, cublas, ./, 13, 0, ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, false, auto, -gpu-nvidia-cuda-13-nemo, 2404) (push) Waiting to run
build backend container images / backend-jobs (neutts, rocm/dev-ubuntu-24.04:7.2.1, hipblas, ./, , , ./backend/Dockerfile.python, linux/amd64, arc-runner-set, false, auto, -gpu-rocm-hipblas-neutts, 2404) (push) Waiting to run
build backend container images / backend-jobs (neutts, ubuntu:24.04, , ./, , , ./backend/Dockerfile.python, linux/amd64,linux/arm64, ubuntu-latest, false, auto, -cpu-neutts, 2404) (push) Waiting to run
build backend container images / backend-jobs (pocket-tts, ubuntu:24.04, , ./, , , ./backend/Dockerfile.python, linux/amd64,linux/arm64, ubuntu-latest, false, auto, -cpu-pocket-tts, 2404) (push) Waiting to run
build backend container images / backend-jobs (pocket-tts, ubuntu:24.04, cublas, ./, 12, 8, ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, false, auto, -gpu-nvidia-cuda-12-pocket-tts, 2404) (push) Waiting to run
build backend container images / backend-jobs (pocket-tts, ubuntu:24.04, cublas, ./, 13, 0, ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, false, auto, -gpu-nvidia-cuda-13-pocket-tts, 2404) (push) Waiting to run
Tests extras backends / tests-qwen-tts (push) Blocked by required conditions
build backend container images / backend-jobs (neutts, ubuntu:24.04, cublas, ./, 12, 8, ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, false, auto, -gpu-nvidia-cuda-12-neutts, 2404) (push) Waiting to run
build backend container images / backend-jobs (opus, ubuntu:24.04, , ./, , , ./backend/Dockerfile.golang, linux/amd64,linux/arm64, ubuntu-latest, false, auto, -cpu-opus, 2404) (push) Waiting to run
build backend container images / backend-jobs (outetts, ubuntu:24.04, , ./, , , ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, true, auto, -cpu-outetts, 2404) (push) Waiting to run
build backend container images / backend-jobs (outetts, ubuntu:24.04, cublas, ./, 12, 8, ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, false, auto, -gpu-nvidia-cuda-12-outetts, 2404) (push) Waiting to run
build backend container images / backend-jobs (piper, ubuntu:24.04, , ./, , , ./backend/Dockerfile.golang, linux/amd64,linux/arm64, ubuntu-latest, false, auto, -piper, 2404) (push) Waiting to run
build backend container images / backend-jobs (pocket-tts, intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04, intel, ./, , , ./backend/Dockerfile.python, linux/amd64, arc-runner-set, false, auto, -gpu-intel-pocket-tts, 2404) (push) Waiting to run
build backend container images / backend-jobs (pocket-tts, nvcr.io/nvidia/l4t-jetpack:r36.4.0, l4t, ./, 12, 0, ./backend/Dockerfile.python, linux/arm64, ubuntu-24.04-arm, true, auto, -nvidia-l4t-pocket-tts, 2204) (push) Waiting to run
build backend container images / backend-jobs (pocket-tts, rocm/dev-ubuntu-24.04:7.2.1, hipblas, ./, , , ./backend/Dockerfile.python, linux/amd64, arc-runner-set, false, auto, -gpu-rocm-hipblas-pocket-tts, 2404) (push) Waiting to run
build backend container images / backend-jobs (qwen-asr, ubuntu:24.04, , ./, , , ./backend/Dockerfile.python, linux/amd64,linux/arm64, ubuntu-latest, false, auto, -cpu-qwen-asr, 2404) (push) Waiting to run
build backend container images / backend-jobs (qwen-asr, ubuntu:24.04, cublas, ./, 12, 8, ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, false, auto, -gpu-nvidia-cuda-12-qwen-asr, 2404) (push) Waiting to run
build backend container images / backend-jobs (qwen-asr, ubuntu:24.04, cublas, ./, 13, 0, ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, false, auto, -gpu-nvidia-cuda-13-qwen-asr, 2404) (push) Waiting to run
build backend container images / backend-jobs (qwen-tts, nvcr.io/nvidia/l4t-jetpack:r36.4.0, l4t, ./, 12, 0, ./backend/Dockerfile.python, linux/arm64, ubuntu-24.04-arm, true, auto, -nvidia-l4t-qwen-tts, 2204) (push) Waiting to run
build backend container images / backend-jobs (qwen-tts, rocm/dev-ubuntu-24.04:7.2.1, hipblas, ./, , , ./backend/Dockerfile.python, linux/amd64, arc-runner-set, false, auto, -gpu-rocm-hipblas-qwen-tts, 2404) (push) Waiting to run
build backend container images / backend-jobs (qwen-tts, ubuntu:24.04, , ./, , , ./backend/Dockerfile.python, linux/amd64,linux/arm64, ubuntu-latest, false, auto, -cpu-qwen-tts, 2404) (push) Waiting to run
build backend container images / backend-jobs (qwen-tts, ubuntu:24.04, cublas, ./, 12, 8, ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, false, auto, -gpu-nvidia-cuda-12-qwen-tts, 2404) (push) Waiting to run
build backend container images / backend-jobs (qwen-tts, ubuntu:24.04, cublas, ./, 13, 0, ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, false, auto, -gpu-nvidia-cuda-13-qwen-tts, 2404) (push) Waiting to run
build backend container images / backend-jobs (qwen-tts, ubuntu:24.04, l4t, ./, 13, 0, ./backend/Dockerfile.python, linux/arm64, ubuntu-24.04-arm, false, auto, -nvidia-l4t-cuda-13-arm64-qwen-tts, 2404) (push) Waiting to run
build backend container images / backend-jobs (qwen3-tts-cpp, intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04, sycl_f16, ./, , , ./backend/Dockerfile.golang, linux/amd64, ubuntu-latest, false, auto, -gpu-intel-sycl-f16-qwen3-tts-cpp, 2404) (push) Waiting to run
build backend container images / backend-jobs (pocket-tts, ubuntu:24.04, l4t, ./, 13, 0, ./backend/Dockerfile.python, linux/arm64, ubuntu-24.04-arm, false, auto, -nvidia-l4t-cuda-13-arm64-pocket-tts, 2404) (push) Waiting to run
build backend container images / backend-jobs (qwen-asr, intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04, intel, ./, , , ./backend/Dockerfile.python, linux/amd64, arc-runner-set, false, auto, -gpu-intel-qwen-asr, 2404) (push) Waiting to run
build backend container images / backend-jobs (qwen-asr, nvcr.io/nvidia/l4t-jetpack:r36.4.0, l4t, ./, 12, 0, ./backend/Dockerfile.python, linux/arm64, ubuntu-24.04-arm, true, auto, -nvidia-l4t-qwen-asr, 2204) (push) Waiting to run
build backend container images / backend-jobs (qwen-asr, rocm/dev-ubuntu-24.04:7.2.1, hipblas, ./, , , ./backend/Dockerfile.python, linux/amd64, arc-runner-set, false, auto, -gpu-rocm-hipblas-qwen-asr, 2404) (push) Waiting to run
build backend container images / backend-jobs (qwen-asr, ubuntu:24.04, l4t, ./, 13, 0, ./backend/Dockerfile.python, linux/arm64, ubuntu-24.04-arm, false, auto, -nvidia-l4t-cuda-13-arm64-qwen-asr, 2404) (push) Waiting to run
build backend container images / backend-jobs (qwen-tts, intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04, intel, ./, , , ./backend/Dockerfile.python, linux/amd64, arc-runner-set, false, auto, -gpu-intel-qwen-tts, 2404) (push) Waiting to run
build backend container images / backend-jobs (qwen3-tts-cpp, ubuntu:24.04, cublas, ./, 13, 0, ./backend/Dockerfile.golang, linux/amd64, ubuntu-latest, false, auto, -gpu-nvidia-cuda-13-qwen3-tts-cpp, 2404) (push) Waiting to run
build backend container images / backend-jobs (qwen3-tts-cpp, ubuntu:24.04, cublas, ./, 13, 0, ./backend/Dockerfile.golang, linux/arm64, ubuntu-24.04-arm, false, auto, -nvidia-l4t-cuda-13-arm64-qwen3-tts-cpp, 2404) (push) Waiting to run
build backend container images / backend-jobs (qwen3-tts-cpp, ubuntu:24.04, vulkan, ./, , , ./backend/Dockerfile.golang, linux/amd64,linux/arm64, ubuntu-latest, false, auto, -gpu-vulkan-qwen3-tts-cpp, 2404) (push) Waiting to run
build backend container images / backend-jobs (rerankers, intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04, intel, ./, , , ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, false, auto, -gpu-intel-rerankers, 2404) (push) Waiting to run
build backend container images / backend-jobs (rerankers, ubuntu:24.04, cublas, ./, 13, 0, ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, false, auto, -gpu-nvidia-cuda-13-rerankers, 2404) (push) Waiting to run
build backend container images / backend-jobs (rfdetr, intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04, intel, ./, , , ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, false, auto, -gpu-intel-rfdetr, 2404) (push) Waiting to run
build backend container images / backend-jobs (rfdetr, nvcr.io/nvidia/l4t-jetpack:r36.4.0, l4t, ./, 12, 0, ./backend/Dockerfile.python, linux/arm64, ubuntu-24.04-arm, true, auto, -nvidia-l4t-arm64-rfdetr, 2204) (push) Waiting to run
build backend container images / backend-jobs (rfdetr, ubuntu:24.04, cublas, ./, 13, 0, ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, false, auto, -gpu-nvidia-cuda-13-rfdetr, 2404) (push) Waiting to run
build backend container images / backend-jobs (sam3-cpp, ubuntu:24.04, cublas, ./, 13, 0, ./backend/Dockerfile.golang, linux/arm64, ubuntu-24.04-arm, false, auto, -nvidia-l4t-cuda-13-arm64-sam3-cpp, 2404) (push) Waiting to run
build backend container images / backend-jobs (sam3-cpp, ubuntu:24.04, vulkan, ./, , , ./backend/Dockerfile.golang, linux/amd64,linux/arm64, ubuntu-latest, false, auto, -gpu-vulkan-sam3-cpp, 2404) (push) Waiting to run
build backend container images / backend-jobs (sglang, intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04, intel, ./, , , ./backend/Dockerfile.python, linux/amd64, arc-runner-set, false, auto, -gpu-intel-sglang, 2404) (push) Waiting to run
build backend container images / backend-jobs (sglang, rocm/dev-ubuntu-24.04:7.2.1, hipblas, ./, , , ./backend/Dockerfile.python, linux/amd64, arc-runner-set, false, auto, -gpu-rocm-hipblas-sglang, 2404) (push) Waiting to run
build backend container images / backend-jobs (qwen3-tts-cpp, intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04, sycl_f32, ./, , , ./backend/Dockerfile.golang, linux/amd64, ubuntu-latest, false, auto, -gpu-intel-sycl-f32-qwen3-tts-cpp, 2404) (push) Waiting to run
build backend container images / backend-jobs (qwen3-tts-cpp, nvcr.io/nvidia/l4t-jetpack:r36.4.0, cublas, ./, 12, 0, ./backend/Dockerfile.golang, linux/arm64, ubuntu-24.04-arm, false, auto, -nvidia-l4t-arm64-qwen3-tts-cpp, 2204) (push) Waiting to run
build backend container images / backend-jobs (qwen3-tts-cpp, rocm/dev-ubuntu-24.04:6.4.4, hipblas, ./, , , ./backend/Dockerfile.golang, linux/amd64, ubuntu-latest, false, auto, -gpu-rocm-hipblas-qwen3-tts-cpp, 2404) (push) Waiting to run
build backend container images / backend-jobs (qwen3-tts-cpp, ubuntu:24.04, , ./, , , ./backend/Dockerfile.golang, linux/amd64,linux/arm64, ubuntu-latest, false, auto, -cpu-qwen3-tts-cpp, 2404) (push) Waiting to run
build backend container images / backend-jobs (qwen3-tts-cpp, ubuntu:24.04, cublas, ./, 12, 8, ./backend/Dockerfile.golang, linux/amd64, ubuntu-latest, false, auto, -gpu-nvidia-cuda-12-qwen3-tts-cpp, 2404) (push) Waiting to run
build backend container images / backend-jobs (rerankers, rocm/dev-ubuntu-24.04:7.2.1, hipblas, ./, , , ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, false, auto, -gpu-rocm-hipblas-rerankers, 2404) (push) Waiting to run
build backend container images / backend-jobs (rerankers, ubuntu:24.04, cublas, ./, 12, 0, ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, false, auto, -gpu-nvidia-cuda-12-rerankers, 2404) (push) Waiting to run
build backend container images / backend-jobs (rfdetr, ubuntu:24.04, , ./, , , ./backend/Dockerfile.python, linux/amd64,linux/arm64, ubuntu-latest, false, auto, -cpu-rfdetr, 2404) (push) Waiting to run
build backend container images / backend-jobs (rfdetr, ubuntu:24.04, cublas, ./, 12, 8, ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, false, auto, -gpu-nvidia-cuda-12-rfdetr, 2404) (push) Waiting to run
build backend container images / backend-jobs (sam3-cpp, intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04, sycl_f16, ./, , , ./backend/Dockerfile.golang, linux/amd64, ubuntu-latest, false, auto, -gpu-intel-sycl-f16-sam3-cpp, 2404) (push) Waiting to run
build backend container images / backend-jobs (sam3-cpp, intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04, sycl_f32, ./, , , ./backend/Dockerfile.golang, linux/amd64, ubuntu-latest, false, auto, -gpu-intel-sycl-f32-sam3-cpp, 2404) (push) Waiting to run
build backend container images / backend-jobs (sam3-cpp, nvcr.io/nvidia/l4t-jetpack:r36.4.0, cublas, ./, 12, 0, ./backend/Dockerfile.golang, linux/arm64, ubuntu-24.04-arm, false, auto, -nvidia-l4t-arm64-sam3-cpp, 2204) (push) Waiting to run
build backend container images / backend-jobs (sam3-cpp, ubuntu:24.04, , ./, , , ./backend/Dockerfile.golang, linux/amd64, ubuntu-latest, false, auto, -cpu-sam3-cpp, 2404) (push) Waiting to run
build backend container images / backend-jobs (sam3-cpp, ubuntu:24.04, cublas, ./, 12, 8, ./backend/Dockerfile.golang, linux/amd64, ubuntu-latest, false, auto, -gpu-nvidia-cuda-12-sam3-cpp, 2404) (push) Waiting to run
build backend container images / backend-jobs (sam3-cpp, ubuntu:24.04, cublas, ./, 13, 0, ./backend/Dockerfile.golang, linux/amd64, ubuntu-latest, false, auto, -gpu-nvidia-cuda-13-sam3-cpp, 2404) (push) Waiting to run
build backend container images / backend-jobs (sglang, ubuntu:24.04, , ./, , , ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, true, auto, -cpu-sglang, 2404) (push) Waiting to run
build backend container images / backend-jobs (sglang, ubuntu:24.04, cublas, ./, 12, 8, ./backend/Dockerfile.python, linux/amd64, arc-runner-set, false, auto, -gpu-nvidia-cuda-12-sglang, 2404) (push) Waiting to run
build backend container images / backend-jobs (silero-vad, ubuntu:24.04, , ./, , , ./backend/Dockerfile.golang, linux/amd64,linux/arm64, ubuntu-latest, false, auto, -cpu-silero-vad, 2404) (push) Waiting to run
build backend container images / backend-jobs (speaker-recognition, ubuntu:24.04, , ./, , , ./backend/Dockerfile.python, linux/amd64,linux/arm64, ubuntu-latest, false, auto, -cpu-speaker-recognition, 2404) (push) Waiting to run
build backend container images / backend-jobs (speaker-recognition, ubuntu:24.04, cublas, ./, 12, 8, ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, false, auto, -gpu-nvidia-cuda-12-speaker-recognition, 2404) (push) Waiting to run
build backend container images / backend-jobs (stablediffusion-ggml, intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04, sycl_f16, ./, , , ./backend/Dockerfile.golang, linux/amd64, ubuntu-latest, false, auto, -gpu-intel-sycl-f16-stablediffusion-ggml, 2404) (push) Waiting to run
build backend container images / backend-jobs (stablediffusion-ggml, nvcr.io/nvidia/l4t-jetpack:r36.4.0, cublas, ./, 12, 0, ./backend/Dockerfile.golang, linux/arm64, ubuntu-24.04-arm, false, auto, -nvidia-l4t-arm64-stablediffusion-ggml, 2204) (push) Waiting to run
build backend container images / backend-jobs (stablediffusion-ggml, ubuntu:24.04, cublas, ./, 12, 8, ./backend/Dockerfile.golang, linux/amd64, ubuntu-latest, false, auto, -gpu-nvidia-cuda-12-stablediffusion-ggml, 2404) (push) Waiting to run
build backend container images / backend-jobs (stablediffusion-ggml, ubuntu:24.04, cublas, ./, 13, 0, ./backend/Dockerfile.golang, linux/amd64, ubuntu-latest, false, auto, -gpu-nvidia-cuda-13-stablediffusion-ggml, 2404) (push) Waiting to run
build backend container images / backend-jobs (stablediffusion-ggml, ubuntu:24.04, cublas, ./, 13, 0, ./backend/Dockerfile.golang, linux/arm64, ubuntu-24.04-arm, false, auto, -nvidia-l4t-cuda-13-arm64-stablediffusion-ggml, 2404) (push) Waiting to run
build backend container images / backend-jobs (stablediffusion-ggml, ubuntu:24.04, vulkan, ./, , , ./backend/Dockerfile.golang, linux/amd64,linux/arm64, ubuntu-latest, false, auto, -gpu-vulkan-stablediffusion-ggml, 2404) (push) Waiting to run
build backend container images / backend-jobs (tinygrad, ubuntu:24.04, , ./, , , ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, true, auto, -tinygrad, 2404) (push) Waiting to run
build backend container images / backend-jobs (transformers, intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04, intel, ./, , , ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, false, auto, -gpu-intel-transformers, 2404) (push) Waiting to run
build backend container images / backend-jobs (transformers, rocm/dev-ubuntu-24.04:7.2.1, hipblas, ./, , , ./backend/Dockerfile.python, linux/amd64, arc-runner-set, false, auto, -gpu-rocm-hipblas-transformers, 2404) (push) Waiting to run
build backend container images / backend-jobs (transformers, ubuntu:24.04, cublas, ./, 12, 8, ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, false, auto, -gpu-nvidia-cuda-12-transformers, 2404) (push) Waiting to run
build backend container images / backend-jobs (transformers, ubuntu:24.04, cublas, ./, 13, 0, ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, false, auto, -gpu-nvidia-cuda-13-transformers, 2404) (push) Waiting to run
build backend container images / backend-jobs (turboquant, intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04, sycl_f16, ./, , , ./backend/Dockerfile.turboquant, linux/amd64, ubuntu-latest, false, auto, -gpu-intel-sycl-f16-turboquant, 2404) (push) Waiting to run
build backend container images / backend-jobs (turboquant, intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04, sycl_f32, ./, , , ./backend/Dockerfile.turboquant, linux/amd64, ubuntu-latest, false, auto, -gpu-intel-sycl-f32-turboquant, 2404) (push) Waiting to run
build backend container images / backend-jobs (turboquant, nvcr.io/nvidia/l4t-jetpack:r36.4.0, cublas, ./, 12, 0, ./backend/Dockerfile.turboquant, linux/arm64, ubuntu-24.04-arm, false, auto, -nvidia-l4t-arm64-turboquant, 2204) (push) Waiting to run
build backend container images / backend-jobs (turboquant, rocm/dev-ubuntu-24.04:7.2.1, hipblas, ./, , , ./backend/Dockerfile.turboquant, linux/amd64, ubuntu-latest, false, auto, -gpu-rocm-hipblas-turboquant, 2404) (push) Waiting to run
Tests extras backends / tests-qwen-asr (push) Blocked by required conditions
build backend container images / backend-jobs (stablediffusion-ggml, intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04, sycl_f32, ./, , , ./backend/Dockerfile.golang, linux/amd64, ubuntu-latest, false, auto, -gpu-intel-sycl-f32-stablediffusion-ggml, 2404) (push) Waiting to run
build backend container images / backend-jobs (stablediffusion-ggml, ubuntu:24.04, , ./, , , ./backend/Dockerfile.golang, linux/amd64, ubuntu-latest, false, auto, -cpu-stablediffusion-ggml, 2404) (push) Waiting to run
build backend container images / backend-jobs (trl, ubuntu:24.04, , ./, , , ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, true, auto, -cpu-trl, 2404) (push) Waiting to run
build backend container images / backend-jobs (trl, ubuntu:24.04, cublas, ./, 12, 8, ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, false, auto, -gpu-nvidia-cuda-12-trl, 2404) (push) Waiting to run
build backend container images / backend-jobs (trl, ubuntu:24.04, cublas, ./, 13, 0, ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, false, auto, -gpu-nvidia-cuda-13-trl, 2404) (push) Waiting to run
build backend container images / backend-jobs (turboquant, ubuntu:24.04, cublas, ./, 13, 0, ./backend/Dockerfile.turboquant, linux/arm64, ubuntu-24.04-arm, false, auto, -nvidia-l4t-cuda-13-arm64-turboquant, 2404) (push) Waiting to run
build backend container images / backend-jobs (turboquant, ubuntu:24.04, vulkan, ./, , , ./backend/Dockerfile.turboquant, linux/amd64,linux/arm64, bigger-runner, false, auto, -gpu-vulkan-turboquant, 2404) (push) Waiting to run
build backend container images / backend-jobs (vibevoice, intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04, intel, ./, , , ./backend/Dockerfile.python, linux/amd64, arc-runner-set, false, auto, -gpu-intel-vibevoice, 2404) (push) Waiting to run
build backend container images / backend-jobs (vibevoice, nvcr.io/nvidia/l4t-jetpack:r36.4.0, l4t, ./, 12, 0, ./backend/Dockerfile.python, linux/arm64, ubuntu-24.04-arm, true, auto, -nvidia-l4t-vibevoice, 2204) (push) Waiting to run
build backend container images / backend-jobs (vibevoice, ubuntu:24.04, l4t, ./, 13, 0, ./backend/Dockerfile.python, linux/arm64, ubuntu-24.04-arm, false, auto, -nvidia-l4t-cuda-13-arm64-vibevoice, 2404) (push) Waiting to run
build backend container images / backend-jobs (vllm, rocm/dev-ubuntu-24.04:7.2.1, hipblas, ./, , , ./backend/Dockerfile.python, linux/amd64, arc-runner-set, false, auto, -gpu-rocm-hipblas-vllm, 2404) (push) Waiting to run
build backend container images / backend-jobs (vllm, ubuntu:24.04, cublas, ./, 12, 8, ./backend/Dockerfile.python, linux/amd64, arc-runner-set, false, auto, -gpu-nvidia-cuda-12-vllm, 2404) (push) Waiting to run
build backend container images / backend-jobs (vllm-omni, ubuntu:24.04, cublas, ./, 12, 8, ./backend/Dockerfile.python, linux/amd64, arc-runner-set, false, auto, -gpu-nvidia-cuda-12-vllm-omni, 2404) (push) Waiting to run
build backend container images / backend-jobs (voxcpm, ubuntu:24.04, cublas, ./, 13, 0, ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, false, auto, -gpu-nvidia-cuda-13-voxcpm, 2404) (push) Waiting to run
build backend container images / backend-jobs (voxtral, ubuntu:24.04, , ./, , , ./backend/Dockerfile.golang, linux/amd64,linux/arm64, ubuntu-latest, false, auto, -cpu-voxtral, 2404) (push) Waiting to run
build backend container images / backend-jobs (whisper, intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04, sycl_f16, ./, , , ./backend/Dockerfile.golang, linux/amd64, ubuntu-latest, false, auto, -gpu-intel-sycl-f16-whisper, 2404) (push) Waiting to run
build backend container images / backend-jobs (whisper, intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04, sycl_f32, ./, , , ./backend/Dockerfile.golang, linux/amd64, ubuntu-latest, false, auto, -gpu-intel-sycl-f32-whisper, 2404) (push) Waiting to run
build backend container images / backend-jobs (whisper, nvcr.io/nvidia/l4t-jetpack:r36.4.0, cublas, ./, 12, 0, ./backend/Dockerfile.golang, linux/arm64, ubuntu-24.04-arm, false, auto, -nvidia-l4t-arm64-whisper, 2204) (push) Waiting to run
build backend container images / backend-jobs (turboquant, ubuntu:24.04, , ./, , , ./backend/Dockerfile.turboquant, linux/amd64,linux/arm64, bigger-runner, false, auto, -cpu-turboquant, 2404) (push) Waiting to run
build backend container images / backend-jobs (turboquant, ubuntu:24.04, cublas, ./, 12, 8, ./backend/Dockerfile.turboquant, linux/amd64, bigger-runner, false, auto, -gpu-nvidia-cuda-12-turboquant, 2404) (push) Waiting to run
build backend container images / backend-jobs (turboquant, ubuntu:24.04, cublas, ./, 13, 0, ./backend/Dockerfile.turboquant, linux/amd64, ubuntu-latest, false, auto, -gpu-nvidia-cuda-13-turboquant, 2404) (push) Waiting to run
build backend container images / backend-jobs (vibevoice, rocm/dev-ubuntu-24.04:7.2.1, hipblas, ./, , , ./backend/Dockerfile.python, linux/amd64, arc-runner-set, false, auto, -gpu-rocm-hipblas-vibevoice, 2404) (push) Waiting to run
build backend container images / backend-jobs (vibevoice, ubuntu:24.04, , ./, , , ./backend/Dockerfile.python, linux/amd64,linux/arm64, ubuntu-latest, false, auto, -cpu-vibevoice, 2404) (push) Waiting to run
build backend container images / backend-jobs (vibevoice, ubuntu:24.04, cublas, ./, 12, 8, ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, false, auto, -gpu-nvidia-cuda-12-vibevoice, 2404) (push) Waiting to run
build backend container images / backend-jobs (vibevoice, ubuntu:24.04, cublas, ./, 13, 0, ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, false, auto, -gpu-nvidia-cuda-13-vibevoice, 2404) (push) Waiting to run
build backend container images / backend-jobs (vllm, intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04, intel, ./, , , ./backend/Dockerfile.python, linux/amd64, arc-runner-set, false, auto, -gpu-intel-vllm, 2404) (push) Waiting to run
build backend container images / backend-jobs (vllm-omni, rocm/dev-ubuntu-24.04:7.2.1, hipblas, ./, , , ./backend/Dockerfile.python, linux/amd64, arc-runner-set, false, auto, -gpu-rocm-hipblas-vllm-omni, 2404) (push) Waiting to run
build backend container images / backend-jobs (voxcpm, intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04, intel, ./, , , ./backend/Dockerfile.python, linux/amd64, arc-runner-set, false, auto, -gpu-intel-voxcpm, 2404) (push) Waiting to run
build backend container images / backend-jobs (voxcpm, rocm/dev-ubuntu-24.04:7.2.1, hipblas, ./, , , ./backend/Dockerfile.python, linux/amd64, arc-runner-set, false, auto, -gpu-rocm-hipblas-voxcpm, 2404) (push) Waiting to run
build backend container images / backend-jobs (voxcpm, ubuntu:24.04, , ./, , , ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, false, auto, -cpu-voxcpm, 2404) (push) Waiting to run
build backend container images / backend-jobs (voxcpm, ubuntu:24.04, cublas, ./, 12, 8, ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, false, auto, -gpu-nvidia-cuda-12-voxcpm, 2404) (push) Waiting to run
build backend container images / backend-jobs (whisper, ubuntu:24.04, vulkan, ./, , , ./backend/Dockerfile.golang, linux/amd64,linux/arm64, ubuntu-latest, false, auto, -gpu-vulkan-whisper, 2404) (push) Waiting to run
build backend container images / backend-jobs (whisperx, nvcr.io/nvidia/l4t-jetpack:r36.4.0, l4t, ./, 12, 0, ./backend/Dockerfile.python, linux/arm64, ubuntu-24.04-arm, true, auto, -nvidia-l4t-whisperx, 2204) (push) Waiting to run
build backend container images / backend-jobs (whisperx, ubuntu:24.04, , ./, , , ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, true, auto, -cpu-whisperx, 2404) (push) Waiting to run
build backend container images / backend-jobs-darwin (kitten-tts, mps, -metal-darwin-arm64-kitten-tts) (push) Waiting to run
build backend container images / backend-jobs-darwin (kokoro, mps, -metal-darwin-arm64-kokoro) (push) Waiting to run
build backend container images / backend-jobs-darwin (mlx, mps, -metal-darwin-arm64-mlx) (push) Waiting to run
build backend container images / backend-jobs (whisper, rocm/dev-ubuntu-24.04:7.2.1, hipblas, ./, , , ./backend/Dockerfile.golang, linux/amd64, ubuntu-latest, false, auto, -gpu-rocm-hipblas-whisper, 2404) (push) Waiting to run
build backend container images / backend-jobs (whisper, ubuntu:24.04, , ./, , , ./backend/Dockerfile.golang, linux/amd64,linux/arm64, ubuntu-latest, false, auto, -cpu-whisper, 2404) (push) Waiting to run
build backend container images / backend-jobs (whisper, ubuntu:24.04, cublas, ./, 12, 8, ./backend/Dockerfile.golang, linux/amd64, ubuntu-latest, false, auto, -gpu-nvidia-cuda-12-whisper, 2404) (push) Waiting to run
build backend container images / backend-jobs (whisper, ubuntu:24.04, cublas, ./, 13, 0, ./backend/Dockerfile.golang, linux/amd64, ubuntu-latest, false, auto, -gpu-nvidia-cuda-13-whisper, 2404) (push) Waiting to run
build backend container images / backend-jobs (whisper, ubuntu:24.04, cublas, ./, 13, 0, ./backend/Dockerfile.golang, linux/arm64, ubuntu-24.04-arm, false, auto, -nvidia-l4t-cuda-13-arm64-whisper, 2404) (push) Waiting to run
build backend container images / backend-jobs (whisperx, ubuntu:24.04, cublas, ./, 12, 8, ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, false, auto, -gpu-nvidia-cuda-12-whisperx, 2404) (push) Waiting to run
build backend container images / backend-jobs (whisperx, ubuntu:24.04, cublas, ./, 13, 0, ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, false, auto, -gpu-nvidia-cuda-13-whisperx, 2404) (push) Waiting to run
build backend container images / backend-jobs (whisperx, ubuntu:24.04, l4t, ./, 13, 0, ./backend/Dockerfile.python, linux/arm64, ubuntu-24.04-arm, false, auto, -nvidia-l4t-cuda-13-arm64-whisperx, 2404) (push) Waiting to run
build backend container images / backend-jobs-darwin (ace-step, mps, -metal-darwin-arm64-ace-step) (push) Waiting to run
build backend container images / backend-jobs-darwin (acestep-cpp, metal, go, -metal-darwin-arm64-acestep-cpp) (push) Waiting to run
build backend container images / backend-jobs-darwin (chatterbox, mps, -metal-darwin-arm64-chatterbox) (push) Waiting to run
build backend container images / backend-jobs-darwin (coqui, mps, -metal-darwin-arm64-coqui) (push) Waiting to run
build backend container images / backend-jobs-darwin (diffusers, mps, -metal-darwin-arm64-diffusers) (push) Waiting to run
build backend container images / backend-jobs-darwin (faster-whisper, mps, -metal-darwin-arm64-faster-whisper) (push) Waiting to run
build backend container images / backend-jobs-darwin (fish-speech, mps, -metal-darwin-arm64-fish-speech) (push) Waiting to run
build backend container images / backend-jobs-darwin (llama-cpp-quantization, mps, -metal-darwin-arm64-llama-cpp-quantization) (push) Waiting to run
build backend container images / backend-jobs-darwin (local-store, metal, go, -metal-darwin-arm64-local-store) (push) Waiting to run
build backend container images / backend-jobs-darwin (qwen-tts, mps, -metal-darwin-arm64-qwen-tts) (push) Waiting to run
build backend container images / backend-jobs-darwin (qwen3-tts-cpp, metal, go, -metal-darwin-arm64-qwen3-tts-cpp) (push) Waiting to run
build backend container images / backend-jobs-darwin (rerankers, mps, -metal-darwin-arm64-rerankers) (push) Waiting to run
build backend container images / backend-jobs-darwin (rfdetr, mps, -metal-darwin-arm64-rfdetr) (push) Waiting to run
build backend container images / backend-jobs-darwin (mlx-audio, mps, -metal-darwin-arm64-mlx-audio) (push) Waiting to run
build backend container images / backend-jobs-darwin (mlx-distributed, mps, -metal-darwin-arm64-mlx-distributed) (push) Waiting to run
build backend container images / backend-jobs-darwin (mlx-vlm, mps, -metal-darwin-arm64-mlx-vlm) (push) Waiting to run
build backend container images / backend-jobs-darwin (moonshine, mps, -metal-darwin-arm64-moonshine) (push) Waiting to run
build backend container images / backend-jobs-darwin (nemo, mps, -metal-darwin-arm64-nemo) (push) Waiting to run
build backend container images / backend-jobs-darwin (opus, metal, go, -metal-darwin-arm64-opus) (push) Waiting to run
build backend container images / backend-jobs-darwin (piper, metal, go, -metal-darwin-arm64-piper) (push) Waiting to run
build backend container images / backend-jobs-darwin (pocket-tts, mps, -metal-darwin-arm64-pocket-tts) (push) Waiting to run
build backend container images / backend-jobs-darwin (qwen-asr, mps, -metal-darwin-arm64-qwen-asr) (push) Waiting to run
build backend container images / backend-jobs-darwin (silero-vad, metal, go, -metal-darwin-arm64-silero-vad) (push) Waiting to run
build backend container images / backend-jobs-darwin (stablediffusion-ggml, metal, go, -metal-darwin-arm64-stablediffusion-ggml) (push) Waiting to run
build backend container images / backend-jobs-darwin (transformers, mps, -metal-darwin-arm64-transformers) (push) Waiting to run
build backend container images / backend-jobs-darwin (whisper, metal, go, -metal-darwin-arm64-whisper) (push) Waiting to run
build backend container images / backend-jobs-darwin (whisperx, mps, -metal-darwin-arm64-whisperx) (push) Waiting to run
build container images / core-image-build (intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04, intel, ubuntu:24.04, --jobs=3 --output-sync=target, linux/amd64, ubuntu-latest, auto, -gpu-intel, noble, 2404) (push) Waiting to run
build container images / hipblas-jobs (rocm/dev-ubuntu-24.04:7.2.1, hipblas, ubuntu:24.04, --jobs=3 --output-sync=target, linux/amd64, ubuntu-latest, auto, -gpu-hipblas, noble, 2404) (push) Waiting to run
build container images / gh-runner (nvcr.io/nvidia/l4t-jetpack:r36.4.0, cublas, 12, 0, --jobs=4 --output-sync=target, linux/arm64, ubuntu-24.04-arm, true, auto, -nvidia-l4t-arm64, jammy, 2204) (push) Waiting to run
build container images / gh-runner (ubuntu:24.04, cublas, 13, 0, --jobs=4 --output-sync=target, linux/arm64, ubuntu-24.04-arm, false, auto, -nvidia-l4t-arm64-cuda-13, noble, 2404) (push) Waiting to run
Security Scan / tests (push) Waiting to run
build backend container images / backend-jobs-darwin (vibevoice, mps, -metal-darwin-arm64-vibevoice) (push) Waiting to run
build backend container images / backend-jobs-darwin (voxcpm, mps, -metal-darwin-arm64-voxcpm) (push) Waiting to run
build backend container images / backend-jobs-darwin (voxtral, metal, go, -metal-darwin-arm64-voxtral) (push) Waiting to run
build backend container images / llama-cpp-darwin (1.25.x) (push) Waiting to run
build backend container images / llama-cpp-darwin-publish (push) Blocked by required conditions
Build test / build-test (push) Waiting to run
Build test / launcher-build-darwin (push) Waiting to run
Build test / launcher-build-linux (push) Waiting to run
Explorer deployment / build-linux (push) Waiting to run
GPU tests / ubuntu-latest (1.21.x) (push) Waiting to run
generate and publish intel docker caches / generate_caches (intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04, linux/amd64, arc-runner-set) (push) Waiting to run
Deploy docs to GitHub Pages / build (push) Waiting to run
Deploy docs to GitHub Pages / deploy (push) Blocked by required conditions
build container images / core-image-build (ubuntu:22.04, cublas, 13, 0, --jobs=4 --output-sync=target, linux/amd64, ubuntu-latest, false, auto, -gpu-nvidia-cuda-13, noble, 2404) (push) Waiting to run
build container images / core-image-build (ubuntu:24.04, , --jobs=4 --output-sync=target, linux/amd64,linux/arm64, ubuntu-latest, false, auto, , noble, 2404) (push) Waiting to run
build container images / core-image-build (ubuntu:24.04, cublas, 12, 8, --jobs=4 --output-sync=target, linux/amd64, ubuntu-latest, false, auto, -gpu-nvidia-cuda-12, noble, 2404) (push) Waiting to run
build container images / core-image-build (ubuntu:24.04, vulkan, --jobs=4 --output-sync=target, linux/amd64,linux/arm64, ubuntu-latest, false, auto, -gpu-vulkan, noble, 2404) (push) Waiting to run
Tests extras backends / tests-turboquant-grpc (push) Blocked by required conditions
Tests extras backends / detect-changes (push) Waiting to run
Tests extras backends / tests-transformers (push) Blocked by required conditions
Tests extras backends / tests-rerankers (push) Blocked by required conditions
Tests extras backends / tests-diffusers (push) Blocked by required conditions
Tests extras backends / tests-coqui (push) Blocked by required conditions
Tests extras backends / tests-moonshine (push) Blocked by required conditions
Tests extras backends / tests-pocket-tts (push) Blocked by required conditions
Tests extras backends / tests-nemo (push) Blocked by required conditions
Tests extras backends / tests-voxcpm (push) Blocked by required conditions
Tests extras backends / tests-llama-cpp-quantization (push) Blocked by required conditions
Tests extras backends / tests-qwen3-tts-cpp (push) Blocked by required conditions
Tests extras backends / tests-voxtral (push) Blocked by required conditions
Tests extras backends / tests-kokoros (push) Blocked by required conditions
Tests extras backends / tests-insightface-grpc (push) Blocked by required conditions
Tests extras backends / tests-speaker-recognition-grpc (push) Blocked by required conditions
tests / tests-linux (1.26.x) (push) Waiting to run
tests / tests-e2e-container (push) Waiting to run
E2E Backend Tests / tests-e2e-backend (1.25.x) (push) Waiting to run
UI E2E Tests / tests-ui-e2e (1.26.x) (push) Waiting to run
Tests extras backends / tests-llama-cpp-grpc (push) Blocked by required conditions
Tests extras backends / tests-llama-cpp-grpc-transcription (push) Blocked by required conditions
Tests extras backends / tests-ik-llama-cpp-grpc (push) Blocked by required conditions
Tests extras backends / tests-acestep-cpp (push) Blocked by required conditions
tests / tests-apple (1.26.x) (push) Waiting to run
The llama-cpp HuggingFace importer iterated files one at a time and kept overwriting `lastGGUFFile`, so sharded repos such as `unsloth/Kimi-K2.6-GGUF` (14 `Q8_K_XL` parts) produced a gallery entry pointing only at the final shard — useless to llama.cpp's split loader, which needs shard 1 to discover the set. Group shards up front via new helpers in `pkg/huggingface-api` (`SplitShardSuffix`, `ShardGroup`, `GroupShards`). The llama-cpp importer now picks a group (preferred quant, then last-group fallback) and emits every shard, with `Model:` pointing at shard 1. `FindPreferredModelFile` returns shard 1 of the first matching group so the gallery agent's preview stays coherent for sharded repos. Adds unit coverage for the HuggingFace branch of the importer (which had none), plus shard-detection tests in the hfapi package. Assisted-by: Claude:Opus-4.7 [Read] [Edit] [Bash]
524 lines
16 KiB
Go
524 lines
16 KiB
Go
package hfapi
|
||
|
||
import (
|
||
"encoding/json"
|
||
"fmt"
|
||
"io"
|
||
"net/http"
|
||
"path/filepath"
|
||
"regexp"
|
||
"sort"
|
||
"strconv"
|
||
"strings"
|
||
)
|
||
|
||
// Model represents a model from the Hugging Face API
|
||
type Model struct {
|
||
ModelID string `json:"modelId"`
|
||
Author string `json:"author"`
|
||
Downloads int `json:"downloads"`
|
||
LastModified string `json:"lastModified"`
|
||
PipelineTag string `json:"pipelineTag"`
|
||
Private bool `json:"private"`
|
||
Tags []string `json:"tags"`
|
||
CreatedAt string `json:"createdAt"`
|
||
UpdatedAt string `json:"updatedAt"`
|
||
Sha string `json:"sha"`
|
||
Config map[string]any `json:"config"`
|
||
ModelIndex string `json:"model_index"`
|
||
LibraryName string `json:"library_name"`
|
||
MaskToken string `json:"mask_token"`
|
||
TokenizerClass string `json:"tokenizer_class"`
|
||
}
|
||
|
||
// FileInfo represents file information from HuggingFace
|
||
type FileInfo struct {
|
||
Type string `json:"type"`
|
||
Oid string `json:"oid"`
|
||
Size int64 `json:"size"`
|
||
Path string `json:"path"`
|
||
LFS *LFSInfo `json:"lfs,omitempty"`
|
||
XetHash string `json:"xetHash,omitempty"`
|
||
}
|
||
|
||
// LFSInfo represents LFS (Large File Storage) information
|
||
type LFSInfo struct {
|
||
Oid string `json:"oid"`
|
||
Size int64 `json:"size"`
|
||
PointerSize int `json:"pointerSize"`
|
||
}
|
||
|
||
// ModelFile represents a file in a model repository
|
||
type ModelFile struct {
|
||
Path string
|
||
Size int64
|
||
SHA256 string
|
||
IsReadme bool
|
||
URL string
|
||
}
|
||
|
||
// ModelDetails represents detailed information about a model
|
||
type ModelDetails struct {
|
||
ModelID string
|
||
Author string
|
||
Files []ModelFile
|
||
ReadmeFile *ModelFile
|
||
ReadmeContent string
|
||
|
||
// PipelineTag mirrors the HuggingFace model-level "pipeline_tag" field
|
||
// (e.g. "text-to-speech", "sentence-similarity"). Empty when the /api/models
|
||
// metadata endpoint is unreachable or the repo does not declare one.
|
||
PipelineTag string
|
||
|
||
// LibraryName mirrors the HuggingFace "library_name" field
|
||
// (e.g. "transformers", "diffusers", "sentence-transformers"). Empty when
|
||
// the metadata endpoint is unreachable or the repo does not declare one.
|
||
LibraryName string
|
||
}
|
||
|
||
// SearchParams represents the parameters for searching models
|
||
type SearchParams struct {
|
||
Sort string `json:"sort"`
|
||
Direction int `json:"direction"`
|
||
Limit int `json:"limit"`
|
||
Search string `json:"search"`
|
||
}
|
||
|
||
// Client represents a Hugging Face API client
|
||
type Client struct {
|
||
baseURL string
|
||
client *http.Client
|
||
}
|
||
|
||
// NewClient creates a new Hugging Face API client
|
||
func NewClient() *Client {
|
||
return &Client{
|
||
baseURL: "https://huggingface.co/api/models",
|
||
client: &http.Client{},
|
||
}
|
||
}
|
||
|
||
// SearchModels searches for models using the Hugging Face API
|
||
func (c *Client) SearchModels(params SearchParams) ([]Model, error) {
|
||
req, err := http.NewRequest("GET", c.baseURL, nil)
|
||
if err != nil {
|
||
return nil, fmt.Errorf("failed to create request: %w", err)
|
||
}
|
||
|
||
// Add query parameters
|
||
q := req.URL.Query()
|
||
q.Add("sort", params.Sort)
|
||
q.Add("direction", fmt.Sprintf("%d", params.Direction))
|
||
q.Add("limit", fmt.Sprintf("%d", params.Limit))
|
||
q.Add("search", params.Search)
|
||
req.URL.RawQuery = q.Encode()
|
||
|
||
// Make the HTTP request
|
||
resp, err := c.client.Do(req)
|
||
if err != nil {
|
||
return nil, fmt.Errorf("failed to make request: %w", err)
|
||
}
|
||
defer resp.Body.Close()
|
||
|
||
if resp.StatusCode != http.StatusOK {
|
||
return nil, fmt.Errorf("failed to fetch models. Status code: %d", resp.StatusCode)
|
||
}
|
||
|
||
// Read the response body
|
||
body, err := io.ReadAll(resp.Body)
|
||
if err != nil {
|
||
return nil, fmt.Errorf("failed to read response body: %w", err)
|
||
}
|
||
|
||
// Parse the JSON response
|
||
var models []Model
|
||
if err := json.Unmarshal(body, &models); err != nil {
|
||
return nil, fmt.Errorf("failed to parse JSON response: %w", err)
|
||
}
|
||
|
||
return models, nil
|
||
}
|
||
|
||
// GetLatest fetches the latest GGUF models
|
||
func (c *Client) GetLatest(searchTerm string, limit int) ([]Model, error) {
|
||
params := SearchParams{
|
||
Sort: "lastModified",
|
||
Direction: -1,
|
||
Limit: limit,
|
||
Search: searchTerm,
|
||
}
|
||
|
||
return c.SearchModels(params)
|
||
}
|
||
|
||
// GetTrending fetches models sorted by HuggingFace's trendingScore — the
|
||
// same signal the public "Trending" tab uses. Useful when picking fresh
|
||
// candidates to add to a gallery: it biases toward repos that are gaining
|
||
// attention right now, rather than strictly newest or strictly most
|
||
// downloaded overall.
|
||
func (c *Client) GetTrending(searchTerm string, limit int) ([]Model, error) {
|
||
params := SearchParams{
|
||
Sort: "trendingScore",
|
||
Direction: -1,
|
||
Limit: limit,
|
||
Search: searchTerm,
|
||
}
|
||
|
||
return c.SearchModels(params)
|
||
}
|
||
|
||
// BaseURL returns the current base URL
|
||
func (c *Client) BaseURL() string {
|
||
return c.baseURL
|
||
}
|
||
|
||
// SetBaseURL sets a new base URL (useful for testing)
|
||
func (c *Client) SetBaseURL(url string) {
|
||
c.baseURL = url
|
||
}
|
||
|
||
// listFilesInPath lists all files in a specific path of a HuggingFace repository (recursive helper)
|
||
func (c *Client) listFilesInPath(repoID, path string) ([]FileInfo, error) {
|
||
baseURL := strings.TrimSuffix(c.baseURL, "/api/models")
|
||
var url string
|
||
if path == "" {
|
||
url = fmt.Sprintf("%s/api/models/%s/tree/main", baseURL, repoID)
|
||
} else {
|
||
url = fmt.Sprintf("%s/api/models/%s/tree/main/%s", baseURL, repoID, path)
|
||
}
|
||
|
||
req, err := http.NewRequest("GET", url, nil)
|
||
if err != nil {
|
||
return nil, fmt.Errorf("failed to create request: %w", err)
|
||
}
|
||
|
||
resp, err := c.client.Do(req)
|
||
if err != nil {
|
||
return nil, fmt.Errorf("failed to make request: %w", err)
|
||
}
|
||
defer resp.Body.Close()
|
||
|
||
if resp.StatusCode != http.StatusOK {
|
||
return nil, fmt.Errorf("failed to fetch files. Status code: %d", resp.StatusCode)
|
||
}
|
||
|
||
body, err := io.ReadAll(resp.Body)
|
||
if err != nil {
|
||
return nil, fmt.Errorf("failed to read response body: %w", err)
|
||
}
|
||
|
||
var items []FileInfo
|
||
if err := json.Unmarshal(body, &items); err != nil {
|
||
return nil, fmt.Errorf("failed to parse JSON response: %w", err)
|
||
}
|
||
|
||
var allFiles []FileInfo
|
||
for _, item := range items {
|
||
switch item.Type {
|
||
// If it's a directory/folder, recursively list its contents
|
||
case "directory", "folder":
|
||
// Build the subfolder path
|
||
subPath := item.Path
|
||
if path != "" {
|
||
subPath = fmt.Sprintf("%s/%s", path, item.Path)
|
||
}
|
||
|
||
// Recursively get files from subfolder
|
||
// The recursive call will already prepend the subPath to each file's path
|
||
subFiles, err := c.listFilesInPath(repoID, subPath)
|
||
if err != nil {
|
||
return nil, fmt.Errorf("failed to list files in subfolder %s: %w", subPath, err)
|
||
}
|
||
|
||
allFiles = append(allFiles, subFiles...)
|
||
case "file":
|
||
// It's a file, prepend the current path to make it relative to root
|
||
// if path != "" {
|
||
// item.Path = fmt.Sprintf("%s/%s", path, item.Path)
|
||
// }
|
||
allFiles = append(allFiles, item)
|
||
}
|
||
}
|
||
|
||
return allFiles, nil
|
||
}
|
||
|
||
// ListFiles lists all files in a HuggingFace repository, including files in subfolders
|
||
func (c *Client) ListFiles(repoID string) ([]FileInfo, error) {
|
||
return c.listFilesInPath(repoID, "")
|
||
}
|
||
|
||
// GetFileSHA gets the SHA256 checksum for a specific file by searching through the file list
|
||
func (c *Client) GetFileSHA(repoID, fileName string) (string, error) {
|
||
files, err := c.ListFiles(repoID)
|
||
if err != nil {
|
||
return "", fmt.Errorf("failed to list files while getting SHA: %w", err)
|
||
}
|
||
|
||
for _, file := range files {
|
||
if filepath.Base(file.Path) == fileName {
|
||
if file.LFS != nil && file.LFS.Oid != "" {
|
||
// The LFS OID contains the SHA256 hash
|
||
return file.LFS.Oid, nil
|
||
}
|
||
// If no LFS, return the regular OID
|
||
return file.Oid, nil
|
||
}
|
||
}
|
||
|
||
return "", fmt.Errorf("file %s not found", fileName)
|
||
}
|
||
|
||
// modelMetadataResponse mirrors the subset of fields returned by
|
||
// GET /api/models/{repoID} that we care about. The public HF endpoint uses
|
||
// snake_case (pipeline_tag, library_name) while the list endpoint used by
|
||
// SearchModels historically returned camelCase — hence the dedicated struct
|
||
// rather than reusing Model.
|
||
type modelMetadataResponse struct {
|
||
PipelineTag string `json:"pipeline_tag"`
|
||
LibraryName string `json:"library_name"`
|
||
}
|
||
|
||
// fetchModelMetadata hits GET /api/models/{repoID} to retrieve high-level
|
||
// model metadata such as pipeline_tag and library_name. Best-effort: a non-
|
||
// 200 response or transport error returns a zero value and a nil error so
|
||
// callers can proceed with file-only data.
|
||
func (c *Client) fetchModelMetadata(repoID string) (modelMetadataResponse, error) {
|
||
baseURL := strings.TrimSuffix(c.baseURL, "/api/models")
|
||
url := fmt.Sprintf("%s/api/models/%s", baseURL, repoID)
|
||
|
||
req, err := http.NewRequest("GET", url, nil)
|
||
if err != nil {
|
||
return modelMetadataResponse{}, err
|
||
}
|
||
|
||
resp, err := c.client.Do(req)
|
||
if err != nil {
|
||
return modelMetadataResponse{}, err
|
||
}
|
||
defer resp.Body.Close()
|
||
|
||
if resp.StatusCode != http.StatusOK {
|
||
return modelMetadataResponse{}, nil
|
||
}
|
||
|
||
body, err := io.ReadAll(resp.Body)
|
||
if err != nil {
|
||
return modelMetadataResponse{}, err
|
||
}
|
||
|
||
var m modelMetadataResponse
|
||
if err := json.Unmarshal(body, &m); err != nil {
|
||
return modelMetadataResponse{}, err
|
||
}
|
||
return m, nil
|
||
}
|
||
|
||
// GetModelDetails gets detailed information about a model including files and checksums
|
||
func (c *Client) GetModelDetails(repoID string) (*ModelDetails, error) {
|
||
files, err := c.ListFiles(repoID)
|
||
if err != nil {
|
||
return nil, fmt.Errorf("failed to list files: %w", err)
|
||
}
|
||
|
||
details := &ModelDetails{
|
||
ModelID: repoID,
|
||
Author: strings.Split(repoID, "/")[0],
|
||
Files: make([]ModelFile, 0, len(files)),
|
||
}
|
||
|
||
// Best-effort: PipelineTag / LibraryName are advisory — some callers
|
||
// (offline tests, restricted networks) can't reach the metadata endpoint.
|
||
// Swallow errors so downstream file detection still works.
|
||
if meta, err := c.fetchModelMetadata(repoID); err == nil {
|
||
details.PipelineTag = meta.PipelineTag
|
||
details.LibraryName = meta.LibraryName
|
||
}
|
||
|
||
// Process each file
|
||
baseURL := strings.TrimSuffix(c.baseURL, "/api/models")
|
||
for _, file := range files {
|
||
fileName := filepath.Base(file.Path)
|
||
isReadme := strings.Contains(strings.ToLower(fileName), "readme")
|
||
|
||
// Extract SHA256 from LFS or use OID
|
||
sha256 := ""
|
||
if file.LFS != nil && file.LFS.Oid != "" {
|
||
sha256 = file.LFS.Oid
|
||
} else {
|
||
sha256 = file.Oid
|
||
}
|
||
|
||
// Construct the full URL for the file
|
||
// Use /resolve/main/ for downloading files (handles LFS properly)
|
||
fileURL := fmt.Sprintf("%s/%s/resolve/main/%s", baseURL, repoID, file.Path)
|
||
|
||
modelFile := ModelFile{
|
||
Path: file.Path,
|
||
Size: file.Size,
|
||
SHA256: sha256,
|
||
IsReadme: isReadme,
|
||
URL: fileURL,
|
||
}
|
||
|
||
details.Files = append(details.Files, modelFile)
|
||
|
||
// Set the readme file
|
||
if isReadme && details.ReadmeFile == nil {
|
||
details.ReadmeFile = &modelFile
|
||
}
|
||
}
|
||
|
||
return details, nil
|
||
}
|
||
|
||
// GetReadmeContent gets the content of a README file
|
||
func (c *Client) GetReadmeContent(repoID, readmePath string) (string, error) {
|
||
baseURL := strings.TrimSuffix(c.baseURL, "/api/models")
|
||
url := fmt.Sprintf("%s/%s/raw/main/%s", baseURL, repoID, readmePath)
|
||
|
||
req, err := http.NewRequest("GET", url, nil)
|
||
if err != nil {
|
||
return "", fmt.Errorf("failed to create request: %w", err)
|
||
}
|
||
|
||
resp, err := c.client.Do(req)
|
||
if err != nil {
|
||
return "", fmt.Errorf("failed to make request: %w", err)
|
||
}
|
||
defer resp.Body.Close()
|
||
|
||
if resp.StatusCode != http.StatusOK {
|
||
return "", fmt.Errorf("failed to fetch readme content. Status code: %d", resp.StatusCode)
|
||
}
|
||
|
||
body, err := io.ReadAll(resp.Body)
|
||
if err != nil {
|
||
return "", fmt.Errorf("failed to read response body: %w", err)
|
||
}
|
||
|
||
return string(body), nil
|
||
}
|
||
|
||
// FilterFilesByQuantization filters files by quantization type
|
||
func FilterFilesByQuantization(files []ModelFile, quantization string) []ModelFile {
|
||
var filtered []ModelFile
|
||
for _, file := range files {
|
||
fileName := filepath.Base(file.Path)
|
||
if strings.Contains(strings.ToLower(fileName), strings.ToLower(quantization)) {
|
||
filtered = append(filtered, file)
|
||
}
|
||
}
|
||
return filtered
|
||
}
|
||
|
||
// shardSuffixRegex matches the `-NNNNN-of-MMMMM.gguf` suffix that llama.cpp
|
||
// uses to split large GGUF models across multiple files. Widths of 1–6 digits
|
||
// are accepted because shard counts seen in the wild range from single digits
|
||
// (unusual) to the common 5-digit zero-padded form (e.g. `-00001-of-00014`).
|
||
var shardSuffixRegex = regexp.MustCompile(`(?i)-(\d{1,6})-of-(\d{1,6})\.gguf$`)
|
||
|
||
// SplitShardSuffix detects llama.cpp-style sharded GGUF filenames. When the
|
||
// filename ends with `-NNNNN-of-MMMMM.gguf` it returns the base filename
|
||
// (with `.gguf` re-appended), the 1-based shard index, the total shard
|
||
// count, and ok=true. Non-sharded filenames return zero values and ok=false.
|
||
func SplitShardSuffix(fileName string) (base string, index, total int, ok bool) {
|
||
loc := shardSuffixRegex.FindStringSubmatchIndex(fileName)
|
||
if loc == nil {
|
||
return "", 0, 0, false
|
||
}
|
||
idx, err := strconv.Atoi(fileName[loc[2]:loc[3]])
|
||
if err != nil {
|
||
return "", 0, 0, false
|
||
}
|
||
tot, err := strconv.Atoi(fileName[loc[4]:loc[5]])
|
||
if err != nil {
|
||
return "", 0, 0, false
|
||
}
|
||
return fileName[:loc[0]] + ".gguf", idx, tot, true
|
||
}
|
||
|
||
// ShardGroup bundles every file that belongs to the same logical GGUF model.
|
||
// Single-file models produce a one-entry group; multi-part shard sets produce
|
||
// one group holding every part in shard-index order.
|
||
type ShardGroup struct {
|
||
// Base is the logical filename: for sharded groups this is the common
|
||
// prefix with `.gguf` re-appended; for single-file groups it equals the
|
||
// sole entry's basename.
|
||
Base string
|
||
// Sharded is true when the group represents a multi-part shard set.
|
||
Sharded bool
|
||
// Total is the declared shard count (0 when Sharded is false).
|
||
Total int
|
||
// Files are the group's entries; sharded groups are sorted by index.
|
||
Files []ModelFile
|
||
}
|
||
|
||
// GroupShards buckets ModelFile entries by their shard base. Files that do
|
||
// not match the sharded-filename pattern become one-entry groups. Group
|
||
// order follows the first appearance of each group in the input (so the
|
||
// historical "last-seen wins" fallback logic in the llama-cpp importer
|
||
// keeps producing the same group); shards within a group are sorted by
|
||
// their 1-based index so downstream consumers can rely on Files[0] being
|
||
// shard 1.
|
||
func GroupShards(files []ModelFile) []ShardGroup {
|
||
groupIdx := make(map[string]int)
|
||
var groups []ShardGroup
|
||
|
||
for _, file := range files {
|
||
name := filepath.Base(file.Path)
|
||
base, _, total, isShard := SplitShardSuffix(name)
|
||
if !isShard {
|
||
groups = append(groups, ShardGroup{
|
||
Base: name,
|
||
Files: []ModelFile{file},
|
||
})
|
||
continue
|
||
}
|
||
if idx, ok := groupIdx[base]; ok {
|
||
groups[idx].Files = append(groups[idx].Files, file)
|
||
if total > groups[idx].Total {
|
||
groups[idx].Total = total
|
||
}
|
||
continue
|
||
}
|
||
groupIdx[base] = len(groups)
|
||
groups = append(groups, ShardGroup{
|
||
Base: base,
|
||
Sharded: true,
|
||
Total: total,
|
||
Files: []ModelFile{file},
|
||
})
|
||
}
|
||
|
||
for i := range groups {
|
||
if !groups[i].Sharded {
|
||
continue
|
||
}
|
||
sort.SliceStable(groups[i].Files, func(a, b int) bool {
|
||
_, ai, _, _ := SplitShardSuffix(filepath.Base(groups[i].Files[a].Path))
|
||
_, bi, _, _ := SplitShardSuffix(filepath.Base(groups[i].Files[b].Path))
|
||
return ai < bi
|
||
})
|
||
}
|
||
return groups
|
||
}
|
||
|
||
// FindPreferredModelFile returns shard #1 of the first group whose base
|
||
// filename contains any of the quantization preferences, checking each
|
||
// preference in priority order. For single-file models this collapses to
|
||
// "the first file whose name contains the preference", preserving the
|
||
// historical behaviour while correctly pointing at shard 1 for multi-part
|
||
// GGUF models — llama.cpp's split loader needs shard 1 to walk the set.
|
||
func FindPreferredModelFile(files []ModelFile, preferences []string) *ModelFile {
|
||
groups := GroupShards(files)
|
||
for _, preference := range preferences {
|
||
lowerPref := strings.ToLower(preference)
|
||
for i := range groups {
|
||
if strings.Contains(strings.ToLower(groups[i].Base), lowerPref) {
|
||
return &groups[i].Files[0]
|
||
}
|
||
}
|
||
}
|
||
return nil
|
||
}
|