fix(models): unify usecases identifications (#4914)

Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
This commit is contained in:
Ettore Di Giacinto 2025-02-27 15:51:12 +01:00 committed by GitHub
parent 3bf2e9d065
commit bbbb28e3ca
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -222,7 +222,15 @@ func (c *BackendConfig) UnmarshalYAML(value *yaml.Node) error {
return err
}
*c = BackendConfig(aux)
c.KnownUsecases = GetUsecasesFromYAML(c.KnownUsecaseStrings)
// Make sure the usecases are valid, we rewrite with what we identified
c.KnownUsecaseStrings = []string{}
for k, usecase := range GetAllBackendConfigUsecases() {
if c.HasUsecases(usecase) {
c.KnownUsecaseStrings = append(c.KnownUsecaseStrings, k)
}
}
return nil
}
@ -410,15 +418,6 @@ func (cfg *BackendConfig) SetDefaults(opts ...ConfigLoaderOption) {
cfg.Debug = &trueV
}
if len(cfg.KnownUsecaseStrings) == 0 {
// Infer use case if not provided
for k, usecase := range GetAllBackendConfigUsecases() {
if cfg.HasUsecases(usecase) {
cfg.KnownUsecaseStrings = append(cfg.KnownUsecaseStrings, k)
}
}
}
guessDefaultsFromFile(cfg, lo.modelPath)
}
@ -491,6 +490,10 @@ func GetAllBackendConfigUsecases() map[string]BackendConfigUsecases {
}
}
func stringToFlag(s string) string {
return "FLAG_" + strings.ToUpper(s)
}
func GetUsecasesFromYAML(input []string) *BackendConfigUsecases {
if len(input) == 0 {
return nil
@ -498,7 +501,7 @@ func GetUsecasesFromYAML(input []string) *BackendConfigUsecases {
result := FLAG_ANY
flags := GetAllBackendConfigUsecases()
for _, str := range input {
flag, exists := flags["FLAG_"+strings.ToUpper(str)]
flag, exists := flags[stringToFlag(str)]
if exists {
result |= flag
}