diff --git a/.github/backend-matrix.yml b/.github/backend-matrix.yml index 111c8b32b..539ccf3a8 100644 --- a/.github/backend-matrix.yml +++ b/.github/backend-matrix.yml @@ -4839,7 +4839,6 @@ include: dockerfile: "./backend/Dockerfile.golang" context: "./" ubuntu-version: '2404' - # rfdetr - build-type: '' cuda-major-version: "" cuda-minor-version: "" @@ -4854,6 +4853,35 @@ include: dockerfile: "./backend/Dockerfile.golang" context: "./" ubuntu-version: '2404' + # cloud-proxy + - build-type: '' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64' + platform-tag: 'amd64' + tag-latest: 'auto' + tag-suffix: '-cpu-cloud-proxy' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "cloud-proxy" + dockerfile: "./backend/Dockerfile.golang" + context: "./" + ubuntu-version: '2404' + - build-type: '' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/arm64' + platform-tag: 'arm64' + tag-latest: 'auto' + tag-suffix: '-cpu-cloud-proxy' + runs-on: 'ubuntu-24.04-arm' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "cloud-proxy" + dockerfile: "./backend/Dockerfile.golang" + context: "./" + ubuntu-version: '2404' # rfdetr - build-type: '' cuda-major-version: "" @@ -5556,6 +5584,10 @@ includeDarwin: tag-suffix: "-metal-darwin-arm64-local-store" build-type: "metal" lang: "go" + - backend: "cloud-proxy" + tag-suffix: "-metal-darwin-arm64-cloud-proxy" + build-type: "metal" + lang: "go" - backend: "llama-cpp-quantization" tag-suffix: "-metal-darwin-arm64-llama-cpp-quantization" build-type: "mps" diff --git a/Makefile b/Makefile index da2e638b0..c81cc57f7 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ # Disable parallel execution for backend builds -.NOTPARALLEL: backends/diffusers backends/llama-cpp backends/turboquant backends/outetts backends/piper backends/stablediffusion-ggml backends/whisper backends/crispasr backends/parakeet-cpp backends/moss-transcribe-cpp backends/faster-whisper backends/silero-vad backends/local-store backends/huggingface backends/rfdetr backends/rfdetr-cpp backends/insightface backends/speaker-recognition backends/kitten-tts backends/kokoro backends/chatterbox backends/llama-cpp-darwin backends/neutts build-darwin-python-backend build-darwin-go-backend backends/mlx backends/diffuser-darwin backends/mlx-vlm backends/mlx-audio backends/mlx-distributed backends/stablediffusion-ggml-darwin backends/vllm backends/vllm-omni backends/longcat-video backends/sglang backends/moonshine backends/pocket-tts backends/qwen-tts backends/faster-qwen3-tts backends/qwen-asr backends/nemo backends/voxcpm backends/whisperx backends/ace-step backends/acestep-cpp backends/fish-speech backends/voxtral backends/opus backends/trl backends/llama-cpp-quantization backends/kokoros backends/sam3-cpp backends/qwen3-tts-cpp backends/omnivoice-cpp backends/vibevoice-cpp backends/localvqe backends/tinygrad backends/sherpa-onnx backends/ds4 backends/ds4-darwin backends/liquid-audio backends/supertonic backends/depth-anything-cpp backends/privacy-filter backends/privacy-filter-darwin +.NOTPARALLEL: backends/diffusers backends/llama-cpp backends/turboquant backends/outetts backends/piper backends/stablediffusion-ggml backends/whisper backends/crispasr backends/parakeet-cpp backends/moss-transcribe-cpp backends/faster-whisper backends/silero-vad backends/local-store backends/cloud-proxy backends/huggingface backends/rfdetr backends/rfdetr-cpp backends/insightface backends/speaker-recognition backends/kitten-tts backends/kokoro backends/chatterbox backends/llama-cpp-darwin backends/neutts build-darwin-python-backend build-darwin-go-backend backends/mlx backends/diffuser-darwin backends/mlx-vlm backends/mlx-audio backends/mlx-distributed backends/stablediffusion-ggml-darwin backends/vllm backends/vllm-omni backends/longcat-video backends/sglang backends/moonshine backends/pocket-tts backends/qwen-tts backends/faster-qwen3-tts backends/qwen-asr backends/nemo backends/voxcpm backends/whisperx backends/ace-step backends/acestep-cpp backends/fish-speech backends/voxtral backends/opus backends/trl backends/llama-cpp-quantization backends/kokoros backends/sam3-cpp backends/qwen3-tts-cpp backends/omnivoice-cpp backends/vibevoice-cpp backends/localvqe backends/tinygrad backends/sherpa-onnx backends/ds4 backends/ds4-darwin backends/liquid-audio backends/supertonic backends/depth-anything-cpp backends/privacy-filter backends/privacy-filter-darwin GOCMD=go GOTEST=$(GOCMD) test diff --git a/backend/go/cloud-proxy/Makefile b/backend/go/cloud-proxy/Makefile index 7900905cd..cd87bfb56 100644 --- a/backend/go/cloud-proxy/Makefile +++ b/backend/go/cloud-proxy/Makefile @@ -1,5 +1,6 @@ GOCMD=go +# Packaged as a standalone gallery backend by backend/Dockerfile.golang. cloud-proxy: CGO_ENABLED=0 $(GOCMD) build -ldflags "$(LD_FLAGS)" -tags "$(GO_TAGS)" -o cloud-proxy ./ diff --git a/backend/index.yaml b/backend/index.yaml index 3374a9d71..b6049c232 100644 --- a/backend/index.yaml +++ b/backend/index.yaml @@ -1664,6 +1664,22 @@ capabilities: default: "cpu-local-store" metal: "metal-local-store" +- &cloud-proxy + name: "cloud-proxy" + alias: "cloud-proxy" + urls: + - https://github.com/mudler/LocalAI/tree/master/backend/go/cloud-proxy + description: | + Forward OpenAI-compatible and Anthropic chat requests to external providers. + tags: + - text-to-text + - cloud + - proxy + - CPU + license: MIT + capabilities: + default: "cpu-cloud-proxy" + metal: "metal-cloud-proxy" - &kitten-tts name: "kitten-tts" urls: @@ -2158,6 +2174,31 @@ uri: "quay.io/go-skynet/local-ai-backends:master-metal-darwin-arm64-local-store" mirrors: - localai/localai-backends:master-metal-darwin-arm64-local-store +- !!merge <<: *cloud-proxy + name: "cpu-cloud-proxy" + uri: "quay.io/go-skynet/local-ai-backends:latest-cpu-cloud-proxy" + mirrors: + - localai/localai-backends:latest-cpu-cloud-proxy +- !!merge <<: *cloud-proxy + name: "cpu-cloud-proxy-development" + uri: "quay.io/go-skynet/local-ai-backends:master-cpu-cloud-proxy" + mirrors: + - localai/localai-backends:master-cpu-cloud-proxy +- !!merge <<: *cloud-proxy + name: "cloud-proxy-development" + capabilities: + default: "cpu-cloud-proxy-development" + metal: "metal-cloud-proxy-development" +- !!merge <<: *cloud-proxy + name: "metal-cloud-proxy" + uri: "quay.io/go-skynet/local-ai-backends:latest-metal-darwin-arm64-cloud-proxy" + mirrors: + - localai/localai-backends:latest-metal-darwin-arm64-cloud-proxy +- !!merge <<: *cloud-proxy + name: "metal-cloud-proxy-development" + uri: "quay.io/go-skynet/local-ai-backends:master-metal-darwin-arm64-cloud-proxy" + mirrors: + - localai/localai-backends:master-metal-darwin-arm64-cloud-proxy - !!merge <<: *opus name: "cpu-opus" uri: "quay.io/go-skynet/local-ai-backends:latest-cpu-opus"