diff --git a/backend/backend.proto b/backend/backend.proto index 8f1308f0f..beb24d212 100644 --- a/backend/backend.proto +++ b/backend/backend.proto @@ -7,7 +7,6 @@ option java_outer_classname = "LocalAIBackend"; package backend; - service Backend { rpc Health(HealthMessage) returns (Reply) {} rpc Free(HealthMessage) returns (Result) {} diff --git a/core/config/model_config.go b/core/config/model_config.go index 4eea3e0fe..a52618fd2 100644 --- a/core/config/model_config.go +++ b/core/config/model_config.go @@ -2359,8 +2359,11 @@ func (c *ModelConfig) GuessUsecases(u ModelConfigUsecase) bool { if u&FLAG_UPSCALE != 0 { return false } - if u&FLAG_MOTION != 0 && c.Backend != "gemxcpp" { - return false + if u&FLAG_MOTION != 0 { + // Motion is declared by the backend registry, never inferred from templates. + if cap := GetBackendCapability(c.Backend); cap == nil || !slices.Contains(cap.PossibleUsecases, UsecaseMotion) { + return false + } } // Backends that are clearly not text-generation nonTextGenBackends := []string{ diff --git a/gallery/index.yaml b/gallery/index.yaml index 8f418362f..b0857da4b 100644 --- a/gallery/index.yaml +++ b/gallery/index.yaml @@ -73402,6 +73402,7 @@ url: "github:mudler/LocalAI/gallery/virtual.yaml@master" urls: - https://huggingface.co/LocalAI-io/GEM-X-GGUF + license: nvidia-open-model-license description: | Live human motion capture with GEM-X on CPU/Vulkan. Streams SOMA-77 or SMPL-24 poses through /api/motion; no body mesh or SAM3D dependency. diff --git a/pkg/motion/validation.go b/pkg/motion/validation.go index 15f394fe8..271c3b086 100644 --- a/pkg/motion/validation.go +++ b/pkg/motion/validation.go @@ -3,8 +3,9 @@ package motion import ( "fmt" - motionpb "github.com/mudler/LocalAI/pkg/motion/proto" "math" + + motionpb "github.com/mudler/LocalAI/pkg/motion/proto" ) // ValidateFrame bounds allocation and rejects invalid subject boxes before a