From 6d182281cf573c738cf3f1b02620813216bedf77 Mon Sep 17 00:00:00 2001 From: "LocalAI [bot]" <139863280+localai-bot@users.noreply.github.com> Date: Mon, 2 Mar 2026 19:00:18 +0100 Subject: [PATCH] fix: allow reranking models configured with known_usecases (#8681) When a model is configured with 'known_usecases: [rerank]' in the YAML config, the reranking endpoint was not being matched because: 1. The GuessUsecases function only checked for backend == 'rerankers' 2. The syncKnownUsecasesFromString() was not being called when loading configs via yaml.Unmarshal in readModelConfigsFromFile This fix: 1. Updates GuessUsecases to also check if Reranking is explicitly set to true in the model config (in addition to checking backend type) 2. Adds syncKnownUsecasesFromString() calls after yaml.Unmarshal in readModelConfigsFromFile to ensure known_usecases are properly parsed Fixes #8658 Signed-off-by: localai-bot Co-authored-by: localai-bot --- core/config/model_config.go | 2 +- core/config/model_config_loader.go | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/core/config/model_config.go b/core/config/model_config.go index 1750fb3ac..509be46b0 100644 --- a/core/config/model_config.go +++ b/core/config/model_config.go @@ -652,7 +652,7 @@ func (c *ModelConfig) GuessUsecases(u ModelConfigUsecase) bool { } if (u & FLAG_RERANK) == FLAG_RERANK { - if c.Backend != "rerankers" { + if c.Backend != "rerankers" && (c.Reranking == nil || !*c.Reranking) { return false } } diff --git a/core/config/model_config_loader.go b/core/config/model_config_loader.go index 664899230..68647a086 100644 --- a/core/config/model_config_loader.go +++ b/core/config/model_config_loader.go @@ -91,6 +91,7 @@ func readModelConfigsFromFile(file string, opts ...ConfigLoaderOption) ([]*Model for _, cc := range configs { cc.modelConfigFile = file cc.SetDefaults(opts...) + cc.syncKnownUsecasesFromString() } return configs, nil } @@ -102,6 +103,7 @@ func readModelConfigsFromFile(file string, opts ...ConfigLoaderOption) ([]*Model } c.modelConfigFile = file + c.syncKnownUsecasesFromString() c.SetDefaults(opts...) return []*ModelConfig{c}, nil