mirror of
https://github.com/mudler/LocalAI
synced 2026-05-24 09:28:23 +00:00
Some checks failed
build backend container images / llama-cpp-darwin-publish (push) Has been cancelled
Deploy docs to GitHub Pages / deploy (push) Has been cancelled
Tests extras backends / tests-transformers (push) Has been cancelled
Tests extras backends / tests-rerankers (push) Has been cancelled
Tests extras backends / tests-diffusers (push) Has been cancelled
Tests extras backends / tests-coqui (push) Has been cancelled
Tests extras backends / tests-moonshine (push) Has been cancelled
Tests extras backends / tests-pocket-tts (push) Has been cancelled
Tests extras backends / tests-qwen-tts (push) Has been cancelled
Tests extras backends / tests-qwen-asr (push) Has been cancelled
Tests extras backends / tests-nemo (push) Has been cancelled
Tests extras backends / tests-voxcpm (push) Has been cancelled
Tests extras backends / tests-llama-cpp-quantization (push) Has been cancelled
Tests extras backends / tests-llama-cpp-grpc (push) Has been cancelled
Tests extras backends / tests-llama-cpp-grpc-transcription (push) Has been cancelled
Tests extras backends / tests-sherpa-onnx-realtime (push) Has been cancelled
Tests extras backends / tests-sherpa-onnx-grpc-transcription (push) Has been cancelled
Tests extras backends / tests-sherpa-onnx-grpc-tts (push) Has been cancelled
Tests extras backends / tests-ik-llama-cpp-grpc (push) Has been cancelled
Tests extras backends / tests-turboquant-grpc (push) Has been cancelled
Tests extras backends / tests-acestep-cpp (push) Has been cancelled
Tests extras backends / tests-qwen3-tts-cpp (push) Has been cancelled
Tests extras backends / tests-vibevoice-cpp (push) Has been cancelled
Tests extras backends / tests-vibevoice-cpp-grpc-tts (push) Has been cancelled
Tests extras backends / tests-vibevoice-cpp-grpc-transcription (push) Has been cancelled
Tests extras backends / tests-localvqe-grpc-transform (push) Has been cancelled
Tests extras backends / tests-voxtral (push) Has been cancelled
Tests extras backends / tests-kokoros (push) Has been cancelled
Tests extras backends / tests-insightface-grpc (push) Has been cancelled
Tests extras backends / tests-speaker-recognition-grpc (push) Has been cancelled
GPU tests / ubuntu-latest (1.21.x) (push) Has been cancelled
Build test / build-test (push) Has been cancelled
Build test / launcher-build-darwin (push) Has been cancelled
Security Scan / tests (push) Has been cancelled
Tests extras backends / detect-changes (push) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
build backend container images / backend-jobs (chatterbox, ubuntu:24.04, , ./, , , ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, true, auto, -cpu-chatterbox, 2404) (push) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
build backend container images / backend-jobs (diffusers, ubuntu:24.04, , ./, , , ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, true, auto, -cpu-diffusers, 2404) (push) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
build backend container images / backend-jobs (faster-whisper, ubuntu:24.04, , ./, , , ./backend/Dockerfile.python, linux/amd64,linux/arm64, ubuntu-latest, true, auto, -cpu-faster-whisper, 2404) (push) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
build backend container images / backend-jobs-darwin (kitten-tts, mps, -metal-darwin-arm64-kitten-tts) (push) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
build backend container images / backend-jobs (kokoros, ubuntu:24.04, , ./, , , ./backend/Dockerfile.rust, linux/amd64, ubuntu-latest, false, auto, -cpu-kokoros, 2404) (push) Has been cancelled
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) Has been cancelled
build backend container images / backend-jobs (llama-cpp, intel/oneapi-basekit:2025.3.2-0-devel-ubuntu24.04, sycl_f32, ./, , , ./backend/Dockerfile.llama-cpp, linux/amd64, ubuntu-latest, false, auto, -gpu-intel-sycl-f32-llama-cpp, 2404) (push) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
build backend container images / backend-jobs (localvqe, ubuntu:24.04, , ./, , , ./backend/Dockerfile.golang, linux/amd64,linux/arm64, ubuntu-latest, false, auto, -cpu-localvqe, 2404) (push) Has been cancelled
build backend container images / backend-jobs (localvqe, ubuntu:24.04, vulkan, ./, , , ./backend/Dockerfile.golang, linux/amd64,linux/arm64, ubuntu-latest, false, auto, -gpu-vulkan-localvqe, 2404) (push) Has been cancelled
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) Has been cancelled
build backend container images / backend-jobs (mlx, ubuntu:24.04, , ./, , , ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, true, auto, -cpu-mlx, 2404) (push) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
build backend container images / backend-jobs (moonshine, ubuntu:24.04, , ./, , , ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, true, auto, -cpu-moonshine, 2404) (push) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
build backend container images / backend-jobs (outetts, ubuntu:24.04, , ./, , , ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, true, auto, -cpu-outetts, 2404) (push) Has been cancelled
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) Has been cancelled
build backend container images / backend-jobs (piper, ubuntu:24.04, , ./, , , ./backend/Dockerfile.golang, linux/amd64,linux/arm64, ubuntu-latest, false, auto, -piper, 2404) (push) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
build backend container images / backend-jobs (rerankers, intel/oneapi-basekit:2025.3.2-0-devel-ubuntu24.04, intel, ./, , , ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, false, auto, -gpu-intel-rerankers, 2404) (push) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
build backend container images / backend-jobs (sglang, ubuntu:24.04, , ./, , , ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, true, auto, -cpu-sglang, 2404) (push) Has been cancelled
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) Has been cancelled
build backend container images / backend-jobs (sglang, ubuntu:24.04, l4t, ./, 13, 0, ./backend/Dockerfile.python, linux/arm64, ubuntu-24.04-arm, false, auto, -nvidia-l4t-cuda-13-arm64-sglang, 2404) (push) Has been cancelled
build backend container images / backend-jobs (sherpa-onnx, ubuntu:24.04, , ./, , , ./backend/Dockerfile.golang, linux/amd64,linux/arm64, ubuntu-latest, false, auto, -cpu-sherpa-onnx, 2404) (push) Has been cancelled
build backend container images / backend-jobs (sherpa-onnx, ubuntu:24.04, cublas, ./, 12, 8, ./backend/Dockerfile.golang, linux/amd64, ubuntu-latest, false, auto, -gpu-nvidia-cuda-12-sherpa-onnx, 2404) (push) Has been cancelled
build backend container images / backend-jobs (sherpa-onnx, ubuntu:24.04, cublas, ./, 13, 0, ./backend/Dockerfile.golang, linux/amd64, ubuntu-latest, false, auto, -gpu-nvidia-cuda-13-sherpa-onnx, 2404) (push) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
build backend container images / backend-jobs (tinygrad, ubuntu:24.04, , ./, , , ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, true, auto, -tinygrad, 2404) (push) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
build backend container images / backend-jobs (trl, ubuntu:24.04, , ./, , , ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, true, auto, -cpu-trl, 2404) (push) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
build backend container images / backend-jobs-darwin (faster-whisper, mps, -metal-darwin-arm64-faster-whisper) (push) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
build backend container images / backend-jobs (vibevoice-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-vibevoice-cpp, 2404) (push) Has been cancelled
build backend container images / backend-jobs (vibevoice-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-vibevoice-cpp, 2404) (push) Has been cancelled
build backend container images / backend-jobs (vibevoice-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-vibevoice-cpp, 2204) (push) Has been cancelled
build backend container images / backend-jobs (vibevoice-cpp, rocm/dev-ubuntu-24.04:6.4.4, hipblas, ./, , , ./backend/Dockerfile.golang, linux/amd64, ubuntu-latest, false, auto, -gpu-rocm-hipblas-vibevoice-cpp, 2404) (push) Has been cancelled
build backend container images / backend-jobs (vibevoice-cpp, ubuntu:24.04, , ./, , , ./backend/Dockerfile.golang, linux/amd64,linux/arm64, ubuntu-latest, false, auto, -cpu-vibevoice-cpp, 2404) (push) Has been cancelled
build backend container images / backend-jobs (vibevoice-cpp, ubuntu:24.04, cublas, ./, 12, 8, ./backend/Dockerfile.golang, linux/amd64, ubuntu-latest, false, auto, -gpu-nvidia-cuda-12-vibevoice-cpp, 2404) (push) Has been cancelled
build backend container images / backend-jobs (vibevoice-cpp, ubuntu:24.04, cublas, ./, 13, 0, ./backend/Dockerfile.golang, linux/amd64, ubuntu-latest, false, auto, -gpu-nvidia-cuda-13-vibevoice-cpp, 2404) (push) Has been cancelled
build backend container images / backend-jobs-darwin (fish-speech, mps, -metal-darwin-arm64-fish-speech) (push) Has been cancelled
build backend container images / backend-jobs (vibevoice-cpp, ubuntu:24.04, cublas, ./, 13, 0, ./backend/Dockerfile.golang, linux/arm64, ubuntu-24.04-arm, false, auto, -nvidia-l4t-cuda-13-arm64-vibevoice-cpp, 2404) (push) Has been cancelled
build backend container images / backend-jobs (vibevoice-cpp, ubuntu:24.04, vulkan, ./, , , ./backend/Dockerfile.golang, linux/amd64,linux/arm64, ubuntu-latest, false, auto, -gpu-vulkan-vibevoice-cpp, 2404) (push) Has been cancelled
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) Has been cancelled
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) Has been cancelled
build backend container images / backend-jobs (vllm, ubuntu:24.04, , ./, , , ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, true, auto, -cpu-vllm, 2404) (push) Has been cancelled
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) Has been cancelled
build backend container images / backend-jobs (vllm, ubuntu:24.04, cublas, ./, 13, 0, ./backend/Dockerfile.python, linux/amd64, arc-runner-set, false, auto, -gpu-nvidia-cuda-13-vllm, 2404) (push) Has been cancelled
build backend container images / backend-jobs (vllm, ubuntu:24.04, l4t, ./, 13, 0, ./backend/Dockerfile.python, linux/arm64, ubuntu-24.04-arm, false, auto, -nvidia-l4t-cuda-13-arm64-vllm, 2404) (push) Has been cancelled
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) Has been cancelled
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) Has been cancelled
build backend container images / backend-jobs (vllm-omni, ubuntu:24.04, cublas, ./, 13, 0, ./backend/Dockerfile.python, linux/amd64, arc-runner-set, false, auto, -gpu-nvidia-cuda-13-vllm-omni, 2404) (push) Has been cancelled
build backend container images / backend-jobs (vllm-omni, ubuntu:24.04, l4t, ./, 13, 0, ./backend/Dockerfile.python, linux/arm64, ubuntu-24.04-arm, false, auto, -nvidia-l4t-cuda-13-arm64-vllm-omni, 2404) (push) Has been cancelled
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) Has been cancelled
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) Has been cancelled
build backend container images / backend-jobs (voxcpm, ubuntu:24.04, , ./, , , ./backend/Dockerfile.python, linux/amd64, ubuntu-latest, false, auto, -cpu-voxcpm, 2404) (push) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
build backend container images / backend-jobs (whisperx, ubuntu:24.04, , ./, , , ./backend/Dockerfile.python, linux/amd64,linux/arm64, ubuntu-latest, true, auto, -cpu-whisperx, 2404) (push) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
build backend container images / backend-jobs-darwin (ace-step, mps, -metal-darwin-arm64-ace-step) (push) Has been cancelled
build backend container images / backend-jobs-darwin (acestep-cpp, metal, go, -metal-darwin-arm64-acestep-cpp) (push) Has been cancelled
build backend container images / backend-jobs-darwin (chatterbox, mps, -metal-darwin-arm64-chatterbox) (push) Has been cancelled
build backend container images / backend-jobs-darwin (coqui, mps, -metal-darwin-arm64-coqui) (push) Has been cancelled
build backend container images / backend-jobs-darwin (diffusers, mps, -metal-darwin-arm64-diffusers) (push) Has been cancelled
build backend container images / backend-jobs-darwin (kokoro, mps, -metal-darwin-arm64-kokoro) (push) Has been cancelled
build backend container images / backend-jobs-darwin (llama-cpp-quantization, mps, -metal-darwin-arm64-llama-cpp-quantization) (push) Has been cancelled
build backend container images / backend-jobs-darwin (local-store, metal, go, -metal-darwin-arm64-local-store) (push) Has been cancelled
build backend container images / backend-jobs-darwin (mlx, mps, -metal-darwin-arm64-mlx) (push) Has been cancelled
build backend container images / backend-jobs-darwin (mlx-audio, mps, -metal-darwin-arm64-mlx-audio) (push) Has been cancelled
build backend container images / backend-jobs-darwin (mlx-distributed, mps, -metal-darwin-arm64-mlx-distributed) (push) Has been cancelled
build backend container images / backend-jobs-darwin (mlx-vlm, mps, -metal-darwin-arm64-mlx-vlm) (push) Has been cancelled
build backend container images / backend-jobs-darwin (moonshine, mps, -metal-darwin-arm64-moonshine) (push) Has been cancelled
build backend container images / backend-jobs-darwin (nemo, mps, -metal-darwin-arm64-nemo) (push) Has been cancelled
build backend container images / backend-jobs-darwin (opus, metal, go, -metal-darwin-arm64-opus) (push) Has been cancelled
build backend container images / backend-jobs-darwin (piper, metal, go, -metal-darwin-arm64-piper) (push) Has been cancelled
build backend container images / backend-jobs-darwin (pocket-tts, mps, -metal-darwin-arm64-pocket-tts) (push) Has been cancelled
build backend container images / backend-jobs-darwin (qwen-asr, mps, -metal-darwin-arm64-qwen-asr) (push) Has been cancelled
build backend container images / backend-jobs-darwin (qwen-tts, mps, -metal-darwin-arm64-qwen-tts) (push) Has been cancelled
build backend container images / backend-jobs-darwin (qwen3-tts-cpp, metal, go, -metal-darwin-arm64-qwen3-tts-cpp) (push) Has been cancelled
build backend container images / backend-jobs-darwin (rerankers, mps, -metal-darwin-arm64-rerankers) (push) Has been cancelled
build backend container images / backend-jobs-darwin (rfdetr, mps, -metal-darwin-arm64-rfdetr) (push) Has been cancelled
build backend container images / backend-jobs-darwin (silero-vad, metal, go, -metal-darwin-arm64-silero-vad) (push) Has been cancelled
build backend container images / backend-jobs-darwin (stablediffusion-ggml, metal, go, -metal-darwin-arm64-stablediffusion-ggml) (push) Has been cancelled
build backend container images / backend-jobs-darwin (transformers, mps, -metal-darwin-arm64-transformers) (push) Has been cancelled
build backend container images / backend-jobs-darwin (vibevoice, mps, -metal-darwin-arm64-vibevoice) (push) Has been cancelled
build backend container images / backend-jobs-darwin (vibevoice-cpp, metal, go, -metal-darwin-arm64-vibevoice-cpp) (push) Has been cancelled
build backend container images / backend-jobs-darwin (voxcpm, mps, -metal-darwin-arm64-voxcpm) (push) Has been cancelled
build backend container images / backend-jobs-darwin (voxtral, metal, go, -metal-darwin-arm64-voxtral) (push) Has been cancelled
build backend container images / backend-jobs-darwin (whisper, metal, go, -metal-darwin-arm64-whisper) (push) Has been cancelled
build backend container images / backend-jobs-darwin (whisperx, mps, -metal-darwin-arm64-whisperx) (push) Has been cancelled
build backend container images / llama-cpp-darwin (1.25.x) (push) Has been cancelled
Build test / launcher-build-linux (push) Has been cancelled
Explorer deployment / build-linux (push) Has been cancelled
generate and publish intel docker caches / generate_caches (intel/oneapi-basekit:2025.3.2-0-devel-ubuntu24.04, linux/amd64, arc-runner-set) (push) Has been cancelled
Deploy docs to GitHub Pages / build (push) Has been cancelled
build container images / hipblas-jobs (rocm/dev-ubuntu-24.04:7.2.1, hipblas, --jobs=3 --output-sync=target, linux/amd64, ubuntu-latest, auto, -gpu-hipblas, noble, 2404) (push) Has been cancelled
build container images / core-image-build (intel/oneapi-basekit:2025.3.2-0-devel-ubuntu24.04, intel, --jobs=3 --output-sync=target, linux/amd64, ubuntu-latest, auto, -gpu-intel, noble, 2404) (push) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
lint / golangci-lint (push) Has been cancelled
Tests extras backends / tests-llama-cpp-smoke (push) Has been cancelled
tests / tests-linux (1.26.x) (push) Has been cancelled
tests / tests-apple (1.26.x) (push) Has been cancelled
tests-aio / tests-aio (push) Has been cancelled
E2E Backend Tests / tests-e2e-backend (1.25.x) (push) Has been cancelled
UI E2E Tests / tests-ui-e2e (1.26.x) (push) Has been cancelled
* feat: Rework VRAM estimation and use known_usecases in gallery Signed-off-by: Richard Palethorpe <io@richiejp.com> Assisted-by: Claude:claude-opus-4-7[1m] [Claude Code] * chore(gallery): regenerate gallery index and add known_usecases to model entries Signed-off-by: Richard Palethorpe <io@richiejp.com> --------- Signed-off-by: Richard Palethorpe <io@richiejp.com>
772 lines
30 KiB
Go
772 lines
30 KiB
Go
package application
|
|
|
|
import (
|
|
"crypto/rand"
|
|
"encoding/hex"
|
|
"encoding/json"
|
|
"fmt"
|
|
"os"
|
|
"path/filepath"
|
|
"time"
|
|
|
|
"github.com/mudler/LocalAI/core/backend"
|
|
"github.com/mudler/LocalAI/core/config"
|
|
"github.com/mudler/LocalAI/core/gallery"
|
|
"github.com/mudler/LocalAI/core/http/auth"
|
|
"github.com/mudler/LocalAI/core/services/galleryop"
|
|
"github.com/mudler/LocalAI/core/services/jobs"
|
|
"github.com/mudler/LocalAI/core/services/nodes"
|
|
"github.com/mudler/LocalAI/core/services/storage"
|
|
"github.com/mudler/LocalAI/pkg/vram"
|
|
coreStartup "github.com/mudler/LocalAI/core/startup"
|
|
"github.com/mudler/LocalAI/internal"
|
|
|
|
"github.com/mudler/LocalAI/pkg/model"
|
|
"github.com/mudler/LocalAI/pkg/sanitize"
|
|
"github.com/mudler/LocalAI/pkg/xsysinfo"
|
|
"github.com/mudler/xlog"
|
|
)
|
|
|
|
func New(opts ...config.AppOption) (*Application, error) {
|
|
options := config.NewApplicationConfig(opts...)
|
|
|
|
// Store a copy of the startup config (from env vars, before file loading)
|
|
// This is used to determine if settings came from env vars vs file
|
|
startupConfigCopy := *options
|
|
application := newApplication(options)
|
|
application.startupConfig = &startupConfigCopy
|
|
|
|
xlog.Info("Starting LocalAI", "threads", options.Threads, "modelsPath", options.SystemState.Model.ModelsPath)
|
|
xlog.Info("LocalAI version", "version", internal.PrintableVersion())
|
|
|
|
if err := application.start(); err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
caps, err := xsysinfo.CPUCapabilities()
|
|
if err == nil {
|
|
xlog.Debug("CPU capabilities", "capabilities", caps)
|
|
|
|
}
|
|
gpus, err := xsysinfo.GPUs()
|
|
if err == nil {
|
|
xlog.Debug("GPU count", "count", len(gpus))
|
|
for _, gpu := range gpus {
|
|
xlog.Debug("GPU", "gpu", gpu.String())
|
|
}
|
|
}
|
|
|
|
// Make sure directories exists
|
|
if options.SystemState.Model.ModelsPath == "" {
|
|
return nil, fmt.Errorf("models path cannot be empty")
|
|
}
|
|
|
|
err = os.MkdirAll(options.SystemState.Model.ModelsPath, 0750)
|
|
if err != nil {
|
|
return nil, fmt.Errorf("unable to create ModelPath: %q", err)
|
|
}
|
|
if options.GeneratedContentDir != "" {
|
|
err := os.MkdirAll(options.GeneratedContentDir, 0750)
|
|
if err != nil {
|
|
return nil, fmt.Errorf("unable to create ImageDir: %q", err)
|
|
}
|
|
}
|
|
if options.UploadDir != "" {
|
|
err := os.MkdirAll(options.UploadDir, 0750)
|
|
if err != nil {
|
|
return nil, fmt.Errorf("unable to create UploadDir: %q", err)
|
|
}
|
|
}
|
|
|
|
// Create and migrate data directory
|
|
if options.DataPath != "" {
|
|
if err := os.MkdirAll(options.DataPath, 0750); err != nil {
|
|
return nil, fmt.Errorf("unable to create DataPath: %q", err)
|
|
}
|
|
// Migrate data from DynamicConfigsDir to DataPath if needed
|
|
if options.DynamicConfigsDir != "" && options.DataPath != options.DynamicConfigsDir {
|
|
migrateDataFiles(options.DynamicConfigsDir, options.DataPath)
|
|
}
|
|
}
|
|
|
|
// Initialize auth database if auth is enabled
|
|
if options.Auth.Enabled {
|
|
// Auto-generate HMAC secret if not provided
|
|
if options.Auth.APIKeyHMACSecret == "" {
|
|
secretFile := filepath.Join(options.DataPath, ".hmac_secret")
|
|
secret, err := loadOrGenerateHMACSecret(secretFile)
|
|
if err != nil {
|
|
return nil, fmt.Errorf("failed to initialize HMAC secret: %w", err)
|
|
}
|
|
options.Auth.APIKeyHMACSecret = secret
|
|
}
|
|
|
|
authDB, err := auth.InitDB(options.Auth.DatabaseURL)
|
|
if err != nil {
|
|
return nil, fmt.Errorf("failed to initialize auth database: %w", err)
|
|
}
|
|
application.authDB = authDB
|
|
xlog.Info("Auth enabled", "database", sanitize.URL(options.Auth.DatabaseURL))
|
|
|
|
// Start session and expired API key cleanup goroutine
|
|
go func() {
|
|
ticker := time.NewTicker(1 * time.Hour)
|
|
defer ticker.Stop()
|
|
for {
|
|
select {
|
|
case <-options.Context.Done():
|
|
return
|
|
case <-ticker.C:
|
|
if err := auth.CleanExpiredSessions(authDB); err != nil {
|
|
xlog.Error("failed to clean expired sessions", "error", err)
|
|
}
|
|
if err := auth.CleanExpiredAPIKeys(authDB); err != nil {
|
|
xlog.Error("failed to clean expired API keys", "error", err)
|
|
}
|
|
}
|
|
}
|
|
}()
|
|
}
|
|
|
|
// Wire JobStore for DB-backed task/job persistence whenever auth DB is available.
|
|
// This ensures tasks and jobs survive restarts in both single-node and distributed modes.
|
|
if application.authDB != nil && application.agentJobService != nil {
|
|
dbJobStore, err := jobs.NewJobStore(application.authDB)
|
|
if err != nil {
|
|
xlog.Error("Failed to create job store for auth DB", "error", err)
|
|
} else {
|
|
application.agentJobService.SetDistributedJobStore(dbJobStore)
|
|
}
|
|
}
|
|
|
|
// Initialize distributed mode services (NATS, object storage, node registry)
|
|
distSvc, err := initDistributed(options, application.authDB, application.ModelConfigLoader())
|
|
if err != nil {
|
|
return nil, fmt.Errorf("distributed mode initialization failed: %w", err)
|
|
}
|
|
if distSvc != nil {
|
|
application.distributed = distSvc
|
|
// Wire remote model unloader so ShutdownModel works for remote nodes
|
|
// Uses NATS to tell serve-backend nodes to Free + kill their backend process
|
|
application.modelLoader.SetRemoteUnloader(distSvc.Unloader)
|
|
// Wire ModelRouter so grpcModel() delegates to SmartRouter in distributed mode
|
|
application.modelLoader.SetModelRouter(distSvc.ModelAdapter.AsModelRouter())
|
|
// Wire DistributedModelStore so shutdown/list/watchdog can find remote models
|
|
distStore := nodes.NewDistributedModelStore(
|
|
model.NewInMemoryModelStore(),
|
|
distSvc.Registry,
|
|
)
|
|
application.modelLoader.SetModelStore(distStore)
|
|
// Start health monitor
|
|
distSvc.Health.Start(options.Context)
|
|
// Start replica reconciler for auto-scaling model replicas
|
|
if distSvc.Reconciler != nil {
|
|
go distSvc.Reconciler.Run(options.Context)
|
|
}
|
|
// In distributed mode, MCP CI jobs are executed by agent workers (not the frontend)
|
|
// because the frontend can't create MCP sessions (e.g., stdio servers using docker).
|
|
// The dispatcher still subscribes to jobs.new for persistence (result/progress subs)
|
|
// but does NOT set a workerFn — agent workers consume jobs from the same NATS queue.
|
|
|
|
// Wire model config loader so job events include model config for agent workers
|
|
distSvc.Dispatcher.SetModelConfigLoader(application.backendLoader)
|
|
|
|
// Start job dispatcher — abort startup if it fails, as jobs would be accepted but never dispatched
|
|
if err := distSvc.Dispatcher.Start(options.Context); err != nil {
|
|
return nil, fmt.Errorf("starting job dispatcher: %w", err)
|
|
}
|
|
// Start ephemeral file cleanup
|
|
storage.StartEphemeralCleanup(options.Context, distSvc.FileMgr, 0, 0)
|
|
// Wire distributed backends into AgentJobService (before Start)
|
|
if application.agentJobService != nil {
|
|
application.agentJobService.SetDistributedBackends(distSvc.Dispatcher)
|
|
application.agentJobService.SetDistributedJobStore(distSvc.JobStore)
|
|
}
|
|
// Wire skill store into AgentPoolService (wired at pool start time via closure)
|
|
// The actual wiring happens in StartAgentPool since the pool doesn't exist yet.
|
|
|
|
// Wire NATS and gallery store into GalleryService for cross-instance progress/cancel
|
|
if application.galleryService != nil {
|
|
application.galleryService.SetNATSClient(distSvc.Nats)
|
|
if distSvc.DistStores != nil && distSvc.DistStores.Gallery != nil {
|
|
// Clean up stale in-progress operations from previous crashed instances
|
|
if err := distSvc.DistStores.Gallery.CleanStale(30 * time.Minute); err != nil {
|
|
xlog.Warn("Failed to clean stale gallery operations", "error", err)
|
|
}
|
|
application.galleryService.SetGalleryStore(distSvc.DistStores.Gallery)
|
|
}
|
|
// Wire distributed model/backend managers so delete propagates to workers
|
|
application.galleryService.SetModelManager(
|
|
nodes.NewDistributedModelManager(options, application.modelLoader, distSvc.Unloader),
|
|
)
|
|
application.galleryService.SetBackendManager(
|
|
nodes.NewDistributedBackendManager(options, application.modelLoader, distSvc.Unloader, distSvc.Registry),
|
|
)
|
|
}
|
|
}
|
|
|
|
// Start AgentJobService (after distributed wiring so it knows whether to use local or NATS)
|
|
if application.agentJobService != nil {
|
|
if err := application.agentJobService.Start(options.Context); err != nil {
|
|
return nil, fmt.Errorf("starting agent job service: %w", err)
|
|
}
|
|
}
|
|
|
|
if err := coreStartup.InstallModels(options.Context, application.GalleryService(), options.Galleries, options.BackendGalleries, options.SystemState, application.ModelLoader(), options.EnforcePredownloadScans, options.AutoloadBackendGalleries, nil, options.ModelsURL...); err != nil {
|
|
xlog.Error("error installing models", "error", err)
|
|
}
|
|
|
|
for _, backend := range options.ExternalBackends {
|
|
if err := galleryop.InstallExternalBackend(options.Context, options.BackendGalleries, options.SystemState, application.ModelLoader(), nil, backend, "", ""); err != nil {
|
|
xlog.Error("error installing external backend", "error", err)
|
|
}
|
|
}
|
|
|
|
configLoaderOpts := options.ToConfigLoaderOptions()
|
|
|
|
if err := application.ModelConfigLoader().LoadModelConfigsFromPath(options.SystemState.Model.ModelsPath, configLoaderOpts...); err != nil {
|
|
xlog.Error("error loading config files", "error", err)
|
|
}
|
|
|
|
if err := gallery.RegisterBackends(options.SystemState, application.ModelLoader()); err != nil {
|
|
xlog.Error("error registering external backends", "error", err)
|
|
}
|
|
|
|
// Start background upgrade checker for backends.
|
|
// In distributed mode, uses PostgreSQL advisory lock so only one frontend
|
|
// instance runs periodic checks (avoids duplicate upgrades across replicas).
|
|
if len(options.BackendGalleries) > 0 {
|
|
// Pass a lazy getter for the backend manager so the checker always
|
|
// uses the active one — DistributedBackendManager is swapped in above
|
|
// and asks workers for their installed backends, which is what
|
|
// upgrade detection needs in distributed mode.
|
|
bmFn := func() galleryop.BackendManager { return application.GalleryService().BackendManager() }
|
|
uc := NewUpgradeChecker(options, application.ModelLoader(), application.distributedDB(), bmFn)
|
|
application.upgradeChecker = uc
|
|
// Refresh the upgrade cache the moment a backend op finishes — otherwise
|
|
// the UI keeps showing a just-upgraded backend as upgradeable until the
|
|
// next 6-hour tick. TriggerCheck is non-blocking.
|
|
if gs := application.GalleryService(); gs != nil {
|
|
gs.OnBackendOpCompleted = uc.TriggerCheck
|
|
}
|
|
go uc.Run(options.Context)
|
|
}
|
|
|
|
// Wire gallery generation counter into VRAM caches so they invalidate
|
|
// when gallery data refreshes instead of using a fixed TTL.
|
|
vram.SetGalleryGenerationFunc(gallery.GalleryGeneration)
|
|
|
|
if options.ConfigFile != "" {
|
|
if err := application.ModelConfigLoader().LoadMultipleModelConfigsSingleFile(options.ConfigFile, configLoaderOpts...); err != nil {
|
|
xlog.Error("error loading config file", "error", err)
|
|
}
|
|
}
|
|
|
|
if err := application.ModelConfigLoader().Preload(options.SystemState.Model.ModelsPath); err != nil {
|
|
xlog.Error("error downloading models", "error", err)
|
|
}
|
|
|
|
if options.PreloadJSONModels != "" {
|
|
if err := galleryop.ApplyGalleryFromString(options.SystemState, application.ModelLoader(), options.EnforcePredownloadScans, options.AutoloadBackendGalleries, options.Galleries, options.BackendGalleries, options.PreloadJSONModels); err != nil {
|
|
return nil, err
|
|
}
|
|
}
|
|
|
|
if options.PreloadModelsFromPath != "" {
|
|
if err := galleryop.ApplyGalleryFromFile(options.SystemState, application.ModelLoader(), options.EnforcePredownloadScans, options.AutoloadBackendGalleries, options.Galleries, options.BackendGalleries, options.PreloadModelsFromPath); err != nil {
|
|
return nil, err
|
|
}
|
|
}
|
|
|
|
if options.Debug {
|
|
for _, v := range application.ModelConfigLoader().GetAllModelsConfigs() {
|
|
xlog.Debug("Model", "name", v.Name, "config", v)
|
|
}
|
|
}
|
|
|
|
// Load runtime settings from file if DynamicConfigsDir is set
|
|
// This applies file settings with env var precedence (env vars take priority)
|
|
// Note: startupConfigCopy was already created above, so it has the original env var values
|
|
if options.DynamicConfigsDir != "" {
|
|
loadRuntimeSettingsFromFile(options)
|
|
}
|
|
|
|
application.ModelLoader().SetBackendLoggingEnabled(options.EnableBackendLogging)
|
|
|
|
// turn off any process that was started by GRPC if the context is canceled
|
|
go func() {
|
|
<-options.Context.Done()
|
|
xlog.Debug("Context canceled, shutting down")
|
|
application.distributed.Shutdown()
|
|
err := application.ModelLoader().StopAllGRPC()
|
|
if err != nil {
|
|
xlog.Error("error while stopping all grpc backends", "error", err)
|
|
}
|
|
}()
|
|
|
|
// Initialize watchdog with current settings (after loading from file)
|
|
initializeWatchdog(application, options)
|
|
|
|
if options.LoadToMemory != nil && !options.SingleBackend {
|
|
for _, m := range options.LoadToMemory {
|
|
cfg, err := application.ModelConfigLoader().LoadModelConfigFileByNameDefaultOptions(m, options)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
xlog.Debug("Auto loading model into memory from file", "model", m, "file", cfg.Model)
|
|
|
|
o := backend.ModelOptions(*cfg, options)
|
|
|
|
var backendErr error
|
|
_, backendErr = application.ModelLoader().Load(o...)
|
|
if backendErr != nil {
|
|
return nil, backendErr
|
|
}
|
|
}
|
|
}
|
|
|
|
// Watch the configuration directory
|
|
startWatcher(options)
|
|
|
|
xlog.Info("core/startup process completed!")
|
|
return application, nil
|
|
}
|
|
|
|
func startWatcher(options *config.ApplicationConfig) {
|
|
if options.DynamicConfigsDir == "" {
|
|
// No need to start the watcher if the directory is not set
|
|
return
|
|
}
|
|
|
|
if _, err := os.Stat(options.DynamicConfigsDir); err != nil {
|
|
if os.IsNotExist(err) {
|
|
// We try to create the directory if it does not exist and was specified
|
|
if err := os.MkdirAll(options.DynamicConfigsDir, 0700); err != nil {
|
|
xlog.Error("failed creating DynamicConfigsDir", "error", err)
|
|
}
|
|
} else {
|
|
// something else happened, we log the error and don't start the watcher
|
|
xlog.Error("failed to read DynamicConfigsDir, watcher will not be started", "error", err)
|
|
return
|
|
}
|
|
}
|
|
|
|
configHandler := newConfigFileHandler(options)
|
|
if err := configHandler.Watch(); err != nil {
|
|
xlog.Error("failed creating watcher", "error", err)
|
|
}
|
|
}
|
|
|
|
// loadRuntimeSettingsFromFile loads settings from runtime_settings.json with env var precedence
|
|
// This function is called at startup, before env vars are applied via AppOptions.
|
|
// Since env vars are applied via AppOptions in run.go, we need to check if they're set.
|
|
// We do this by checking if the current options values differ from defaults, which would
|
|
// indicate they were set from env vars. However, a simpler approach is to just apply
|
|
// file settings here, and let the AppOptions (which are applied after this) override them.
|
|
// But actually, this is called AFTER AppOptions are applied in New(), so we need to check env vars.
|
|
// The cleanest solution: Store original values before applying file, or check if values match
|
|
// what would be set from env vars. For now, we'll apply file settings and they'll be
|
|
// overridden by AppOptions if env vars were set (but AppOptions are already applied).
|
|
// Actually, this function is called in New() before AppOptions are fully processed for watchdog.
|
|
// Let's check the call order: New() -> loadRuntimeSettingsFromFile() -> initializeWatchdog()
|
|
// But AppOptions are applied in NewApplicationConfig() which is called first.
|
|
// So at this point, options already has values from env vars. We should compare against
|
|
// defaults to see if env vars were set. But we don't have defaults stored.
|
|
// Simplest: Just apply file settings. If env vars were set, they're already in options.
|
|
// The file watcher handler will handle runtime changes properly by comparing with startupAppConfig.
|
|
func loadRuntimeSettingsFromFile(options *config.ApplicationConfig) {
|
|
settingsFile := filepath.Join(options.DynamicConfigsDir, "runtime_settings.json")
|
|
fileContent, err := os.ReadFile(settingsFile)
|
|
if err != nil {
|
|
if os.IsNotExist(err) {
|
|
xlog.Debug("runtime_settings.json not found, using defaults")
|
|
return
|
|
}
|
|
xlog.Warn("failed to read runtime_settings.json", "error", err)
|
|
return
|
|
}
|
|
|
|
var settings config.RuntimeSettings
|
|
|
|
if err := json.Unmarshal(fileContent, &settings); err != nil {
|
|
xlog.Warn("failed to parse runtime_settings.json", "error", err)
|
|
return
|
|
}
|
|
|
|
// At this point, options already has values from env vars (via AppOptions in run.go).
|
|
// To avoid env var duplication, we determine if env vars were set by checking if
|
|
// current values differ from defaults. Defaults are: false for bools, 0 for durations.
|
|
// If current value is at default, it likely wasn't set from env var, so we can apply file.
|
|
// If current value is non-default, it was likely set from env var, so we preserve it.
|
|
// Note: This means env vars explicitly setting to false/0 won't be distinguishable from defaults,
|
|
// but that's an acceptable limitation to avoid env var duplication.
|
|
|
|
if settings.WatchdogIdleEnabled != nil {
|
|
// Only apply if current value is default (false), suggesting it wasn't set from env var
|
|
if !options.WatchDogIdle {
|
|
options.WatchDogIdle = *settings.WatchdogIdleEnabled
|
|
if options.WatchDogIdle {
|
|
options.WatchDog = true
|
|
}
|
|
}
|
|
}
|
|
if settings.WatchdogBusyEnabled != nil {
|
|
if !options.WatchDogBusy {
|
|
options.WatchDogBusy = *settings.WatchdogBusyEnabled
|
|
if options.WatchDogBusy {
|
|
options.WatchDog = true
|
|
}
|
|
}
|
|
}
|
|
if settings.WatchdogIdleTimeout != nil {
|
|
// Only apply if current value is default (0), suggesting it wasn't set from env var
|
|
if options.WatchDogIdleTimeout == 0 {
|
|
dur, err := time.ParseDuration(*settings.WatchdogIdleTimeout)
|
|
if err == nil {
|
|
options.WatchDogIdleTimeout = dur
|
|
} else {
|
|
xlog.Warn("invalid watchdog idle timeout in runtime_settings.json", "error", err, "timeout", *settings.WatchdogIdleTimeout)
|
|
}
|
|
}
|
|
}
|
|
if settings.WatchdogBusyTimeout != nil {
|
|
if options.WatchDogBusyTimeout == 0 {
|
|
dur, err := time.ParseDuration(*settings.WatchdogBusyTimeout)
|
|
if err == nil {
|
|
options.WatchDogBusyTimeout = dur
|
|
} else {
|
|
xlog.Warn("invalid watchdog busy timeout in runtime_settings.json", "error", err, "timeout", *settings.WatchdogBusyTimeout)
|
|
}
|
|
}
|
|
}
|
|
if settings.WatchdogInterval != nil {
|
|
if options.WatchDogInterval == 0 {
|
|
dur, err := time.ParseDuration(*settings.WatchdogInterval)
|
|
if err == nil {
|
|
options.WatchDogInterval = dur
|
|
} else {
|
|
xlog.Warn("invalid watchdog interval in runtime_settings.json", "error", err, "interval", *settings.WatchdogInterval)
|
|
options.WatchDogInterval = model.DefaultWatchdogInterval
|
|
}
|
|
}
|
|
}
|
|
// Handle MaxActiveBackends (new) and SingleBackend (deprecated)
|
|
if settings.MaxActiveBackends != nil {
|
|
// Only apply if current value is default (0), suggesting it wasn't set from env var
|
|
if options.MaxActiveBackends == 0 {
|
|
options.MaxActiveBackends = *settings.MaxActiveBackends
|
|
// For backward compatibility, also set SingleBackend if MaxActiveBackends == 1
|
|
options.SingleBackend = (*settings.MaxActiveBackends == 1)
|
|
}
|
|
} else if settings.SingleBackend != nil {
|
|
// Legacy: SingleBackend maps to MaxActiveBackends = 1
|
|
if !options.SingleBackend {
|
|
options.SingleBackend = *settings.SingleBackend
|
|
if *settings.SingleBackend {
|
|
options.MaxActiveBackends = 1
|
|
}
|
|
}
|
|
}
|
|
if settings.MemoryReclaimerEnabled != nil {
|
|
// Only apply if current value is default (false), suggesting it wasn't set from env var
|
|
if !options.MemoryReclaimerEnabled {
|
|
options.MemoryReclaimerEnabled = *settings.MemoryReclaimerEnabled
|
|
if options.MemoryReclaimerEnabled {
|
|
options.WatchDog = true // Memory reclaimer requires watchdog
|
|
}
|
|
}
|
|
}
|
|
if settings.MemoryReclaimerThreshold != nil {
|
|
// Only apply if current value is default (0), suggesting it wasn't set from env var
|
|
if options.MemoryReclaimerThreshold == 0 {
|
|
options.MemoryReclaimerThreshold = *settings.MemoryReclaimerThreshold
|
|
}
|
|
}
|
|
if settings.ForceEvictionWhenBusy != nil {
|
|
// Only apply if current value is default (false), suggesting it wasn't set from env var
|
|
if !options.ForceEvictionWhenBusy {
|
|
options.ForceEvictionWhenBusy = *settings.ForceEvictionWhenBusy
|
|
}
|
|
}
|
|
if settings.LRUEvictionMaxRetries != nil {
|
|
// Only apply if current value is default (30), suggesting it wasn't set from env var
|
|
if options.LRUEvictionMaxRetries == 0 {
|
|
options.LRUEvictionMaxRetries = *settings.LRUEvictionMaxRetries
|
|
}
|
|
}
|
|
if settings.LRUEvictionRetryInterval != nil {
|
|
// Only apply if current value is default (1s), suggesting it wasn't set from env var
|
|
if options.LRUEvictionRetryInterval == 0 {
|
|
dur, err := time.ParseDuration(*settings.LRUEvictionRetryInterval)
|
|
if err == nil {
|
|
options.LRUEvictionRetryInterval = dur
|
|
} else {
|
|
xlog.Warn("invalid LRU eviction retry interval in runtime_settings.json", "error", err, "interval", *settings.LRUEvictionRetryInterval)
|
|
}
|
|
}
|
|
}
|
|
if settings.AgentJobRetentionDays != nil {
|
|
// Only apply if current value is default (0), suggesting it wasn't set from env var
|
|
if options.AgentJobRetentionDays == 0 {
|
|
options.AgentJobRetentionDays = *settings.AgentJobRetentionDays
|
|
}
|
|
}
|
|
if !options.WatchDogIdle && !options.WatchDogBusy {
|
|
if settings.WatchdogEnabled != nil && *settings.WatchdogEnabled {
|
|
options.WatchDog = true
|
|
}
|
|
}
|
|
|
|
// P2P settings
|
|
if settings.P2PToken != nil {
|
|
if options.P2PToken == "" {
|
|
options.P2PToken = *settings.P2PToken
|
|
}
|
|
}
|
|
if settings.P2PNetworkID != nil {
|
|
if options.P2PNetworkID == "" {
|
|
options.P2PNetworkID = *settings.P2PNetworkID
|
|
}
|
|
}
|
|
if settings.Federated != nil {
|
|
if !options.Federated {
|
|
options.Federated = *settings.Federated
|
|
}
|
|
}
|
|
|
|
if settings.EnableBackendLogging != nil {
|
|
if !options.EnableBackendLogging {
|
|
options.EnableBackendLogging = *settings.EnableBackendLogging
|
|
}
|
|
}
|
|
|
|
// Tracing settings
|
|
if settings.EnableTracing != nil {
|
|
if !options.EnableTracing {
|
|
options.EnableTracing = *settings.EnableTracing
|
|
}
|
|
}
|
|
if settings.TracingMaxItems != nil {
|
|
if options.TracingMaxItems == 0 {
|
|
options.TracingMaxItems = *settings.TracingMaxItems
|
|
}
|
|
}
|
|
|
|
// Branding / whitelabeling. There are no env vars for these — the file is
|
|
// the only source — so apply unconditionally. Without this block a server
|
|
// restart silently drops the configured instance name, tagline, and asset
|
|
// filenames.
|
|
if settings.InstanceName != nil {
|
|
options.Branding.InstanceName = *settings.InstanceName
|
|
}
|
|
if settings.InstanceTagline != nil {
|
|
options.Branding.InstanceTagline = *settings.InstanceTagline
|
|
}
|
|
if settings.LogoFile != nil {
|
|
options.Branding.LogoFile = *settings.LogoFile
|
|
}
|
|
if settings.LogoHorizontalFile != nil {
|
|
options.Branding.LogoHorizontalFile = *settings.LogoHorizontalFile
|
|
}
|
|
if settings.FaviconFile != nil {
|
|
options.Branding.FaviconFile = *settings.FaviconFile
|
|
}
|
|
|
|
// Backend upgrade flags
|
|
if settings.AutoUpgradeBackends != nil {
|
|
if !options.AutoUpgradeBackends {
|
|
options.AutoUpgradeBackends = *settings.AutoUpgradeBackends
|
|
}
|
|
}
|
|
if settings.PreferDevelopmentBackends != nil {
|
|
if !options.PreferDevelopmentBackends {
|
|
options.PreferDevelopmentBackends = *settings.PreferDevelopmentBackends
|
|
}
|
|
}
|
|
|
|
// LocalAI Assistant — file-stored as the negation (LocalAIAssistantEnabled).
|
|
// Default is enabled (DisableLocalAIAssistant=false). Apply the file value
|
|
// unless env explicitly disabled the assistant (DisableLocalAIAssistant=true).
|
|
if settings.LocalAIAssistantEnabled != nil {
|
|
if !options.DisableLocalAIAssistant {
|
|
options.DisableLocalAIAssistant = !*settings.LocalAIAssistantEnabled
|
|
}
|
|
}
|
|
|
|
// Open Responses TTL. Default is 0 (no expiration). Treat the on-disk
|
|
// "0"/empty as "no expiration" — a no-op since options is already 0 —
|
|
// and parse anything else as a duration.
|
|
if settings.OpenResponsesStoreTTL != nil && options.OpenResponsesStoreTTL == 0 {
|
|
v := *settings.OpenResponsesStoreTTL
|
|
if v != "0" && v != "" {
|
|
if dur, err := time.ParseDuration(v); err == nil {
|
|
options.OpenResponsesStoreTTL = dur
|
|
} else {
|
|
xlog.Warn("invalid open_responses_store_ttl in runtime_settings.json", "error", err, "ttl", v)
|
|
}
|
|
}
|
|
}
|
|
|
|
// Agent Pool. NewApplicationConfig seeds non-zero defaults for some of
|
|
// these fields (Enabled=true, EmbeddingModel="granite-embedding-107m-
|
|
// multilingual", MaxChunkingSize=400). The "if at default, apply file"
|
|
// gate uses each field's actual default literal so file values can
|
|
// override the bootstrap default while still letting an env-set value
|
|
// (e.g. WithAgentPoolEmbeddingModel from a flag) win.
|
|
if settings.AgentPoolEnabled != nil && options.AgentPool.Enabled {
|
|
options.AgentPool.Enabled = *settings.AgentPoolEnabled
|
|
}
|
|
if settings.AgentPoolDefaultModel != nil && options.AgentPool.DefaultModel == "" {
|
|
options.AgentPool.DefaultModel = *settings.AgentPoolDefaultModel
|
|
}
|
|
if settings.AgentPoolEmbeddingModel != nil {
|
|
if options.AgentPool.EmbeddingModel == "" || options.AgentPool.EmbeddingModel == "granite-embedding-107m-multilingual" {
|
|
options.AgentPool.EmbeddingModel = *settings.AgentPoolEmbeddingModel
|
|
}
|
|
}
|
|
if settings.AgentPoolMaxChunkingSize != nil {
|
|
if options.AgentPool.MaxChunkingSize == 0 || options.AgentPool.MaxChunkingSize == 400 {
|
|
options.AgentPool.MaxChunkingSize = *settings.AgentPoolMaxChunkingSize
|
|
}
|
|
}
|
|
if settings.AgentPoolChunkOverlap != nil && options.AgentPool.ChunkOverlap == 0 {
|
|
options.AgentPool.ChunkOverlap = *settings.AgentPoolChunkOverlap
|
|
}
|
|
if settings.AgentPoolEnableLogs != nil && !options.AgentPool.EnableLogs {
|
|
options.AgentPool.EnableLogs = *settings.AgentPoolEnableLogs
|
|
}
|
|
if settings.AgentPoolCollectionDBPath != nil && options.AgentPool.CollectionDBPath == "" {
|
|
options.AgentPool.CollectionDBPath = *settings.AgentPoolCollectionDBPath
|
|
}
|
|
if settings.AgentPoolVectorEngine != nil {
|
|
// Default is "chromem"; treat both that and empty as "not env-set".
|
|
if options.AgentPool.VectorEngine == "" || options.AgentPool.VectorEngine == "chromem" {
|
|
options.AgentPool.VectorEngine = *settings.AgentPoolVectorEngine
|
|
}
|
|
}
|
|
if settings.AgentPoolDatabaseURL != nil && options.AgentPool.DatabaseURL == "" {
|
|
options.AgentPool.DatabaseURL = *settings.AgentPoolDatabaseURL
|
|
}
|
|
if settings.AgentPoolAgentHubURL != nil {
|
|
// Default is "https://agenthub.localai.io"; treat both that and empty
|
|
// as "not env-set".
|
|
if options.AgentPool.AgentHubURL == "" || options.AgentPool.AgentHubURL == "https://agenthub.localai.io" {
|
|
options.AgentPool.AgentHubURL = *settings.AgentPoolAgentHubURL
|
|
}
|
|
}
|
|
|
|
xlog.Debug("Runtime settings loaded from runtime_settings.json")
|
|
}
|
|
|
|
// initializeWatchdog initializes the watchdog with current ApplicationConfig settings
|
|
func initializeWatchdog(application *Application, options *config.ApplicationConfig) {
|
|
// Get effective max active backends (considers both MaxActiveBackends and deprecated SingleBackend)
|
|
lruLimit := options.GetEffectiveMaxActiveBackends()
|
|
|
|
// Create watchdog if enabled OR if LRU limit is set OR if memory reclaimer is enabled
|
|
if options.WatchDog || lruLimit > 0 || options.MemoryReclaimerEnabled {
|
|
wd := model.NewWatchDog(
|
|
model.WithProcessManager(application.ModelLoader()),
|
|
model.WithBusyTimeout(options.WatchDogBusyTimeout),
|
|
model.WithIdleTimeout(options.WatchDogIdleTimeout),
|
|
model.WithWatchdogInterval(options.WatchDogInterval),
|
|
model.WithBusyCheck(options.WatchDogBusy),
|
|
model.WithIdleCheck(options.WatchDogIdle),
|
|
model.WithLRULimit(lruLimit),
|
|
model.WithMemoryReclaimer(options.MemoryReclaimerEnabled, options.MemoryReclaimerThreshold),
|
|
model.WithForceEvictionWhenBusy(options.ForceEvictionWhenBusy),
|
|
)
|
|
application.ModelLoader().SetWatchDog(wd)
|
|
|
|
// Initialize ModelLoader LRU eviction retry settings
|
|
application.ModelLoader().SetLRUEvictionRetrySettings(
|
|
options.LRUEvictionMaxRetries,
|
|
options.LRUEvictionRetryInterval,
|
|
)
|
|
|
|
// Sync per-model state from configs to the watchdog. Without this,
|
|
// `pinned: true` and `concurrency_groups:` are only honored after a
|
|
// settings-driven RestartWatchdog and never at boot.
|
|
application.SyncPinnedModelsToWatchdog()
|
|
application.SyncModelGroupsToWatchdog()
|
|
|
|
// Start watchdog goroutine if any periodic checks are enabled
|
|
// LRU eviction doesn't need the Run() loop - it's triggered on model load
|
|
// But memory reclaimer needs the Run() loop for periodic checking
|
|
if options.WatchDogBusy || options.WatchDogIdle || options.MemoryReclaimerEnabled {
|
|
go wd.Run()
|
|
}
|
|
|
|
go func() {
|
|
<-options.Context.Done()
|
|
xlog.Debug("Context canceled, shutting down")
|
|
wd.Shutdown()
|
|
}()
|
|
}
|
|
}
|
|
|
|
// loadOrGenerateHMACSecret loads an HMAC secret from the given file path,
|
|
// or generates a random 32-byte secret and persists it if the file doesn't exist.
|
|
func loadOrGenerateHMACSecret(path string) (string, error) {
|
|
data, err := os.ReadFile(path)
|
|
if err == nil {
|
|
secret := string(data)
|
|
if len(secret) >= 32 {
|
|
return secret, nil
|
|
}
|
|
}
|
|
|
|
b := make([]byte, 32)
|
|
if _, err := rand.Read(b); err != nil {
|
|
return "", fmt.Errorf("failed to generate HMAC secret: %w", err)
|
|
}
|
|
secret := hex.EncodeToString(b)
|
|
|
|
if err := os.WriteFile(path, []byte(secret), 0600); err != nil {
|
|
return "", fmt.Errorf("failed to persist HMAC secret: %w", err)
|
|
}
|
|
|
|
xlog.Info("Generated new HMAC secret for API key hashing", "path", path)
|
|
return secret, nil
|
|
}
|
|
|
|
// migrateDataFiles moves persistent data files from the old config directory
|
|
// to the new data directory. Only moves files that exist in src but not in dst.
|
|
func migrateDataFiles(srcDir, dstDir string) {
|
|
// Files and directories to migrate
|
|
items := []string{
|
|
"agent_tasks.json",
|
|
"agent_jobs.json",
|
|
"collections",
|
|
"assets",
|
|
}
|
|
|
|
migrated := false
|
|
for _, item := range items {
|
|
srcPath := filepath.Join(srcDir, item)
|
|
dstPath := filepath.Join(dstDir, item)
|
|
|
|
// Only migrate if source exists and destination does not
|
|
if _, err := os.Stat(srcPath); os.IsNotExist(err) {
|
|
continue
|
|
}
|
|
if _, err := os.Stat(dstPath); err == nil {
|
|
continue // destination already exists, skip
|
|
}
|
|
|
|
if err := os.Rename(srcPath, dstPath); err != nil {
|
|
xlog.Warn("Failed to migrate data file, will copy instead", "src", srcPath, "dst", dstPath, "error", err)
|
|
// os.Rename fails across filesystems, fall back to leaving in place
|
|
// and log a warning for the user to manually move
|
|
xlog.Warn("Data file remains in old location, please move manually", "src", srcPath, "dst", dstPath)
|
|
continue
|
|
}
|
|
migrated = true
|
|
xlog.Info("Migrated data file to new data path", "src", srcPath, "dst", dstPath)
|
|
}
|
|
|
|
if migrated {
|
|
xlog.Info("Data migration complete", "from", srcDir, "to", dstDir)
|
|
}
|
|
}
|