diff --git a/core/http/endpoints/localai/system.go b/core/http/endpoints/localai/system.go index 23a725e32..92d80a3a2 100644 --- a/core/http/endpoints/localai/system.go +++ b/core/http/endpoints/localai/system.go @@ -21,10 +21,15 @@ func SystemInformations(ml *model.ModelLoader, appConfig *config.ApplicationConf for b := range appConfig.ExternalGRPCBackends { availableBackends = append(availableBackends, b) } + + sysmodels := []schema.SysInfoModel{} + for _, m := range loadedModels { + sysmodels = append(sysmodels, schema.SysInfoModel{ID: m.ID}) + } return c.JSON( schema.SystemInformationResponse{ Backends: availableBackends, - Models: loadedModels, + Models: sysmodels, }, ) } diff --git a/core/schema/localai.go b/core/schema/localai.go index 1b663ae0b..861ed577e 100644 --- a/core/schema/localai.go +++ b/core/schema/localai.go @@ -2,7 +2,6 @@ package schema import ( "github.com/mudler/LocalAI/core/p2p" - "github.com/mudler/LocalAI/pkg/model" gopsutil "github.com/shirou/gopsutil/v3/process" ) @@ -77,7 +76,11 @@ type P2PNodesResponse struct { FederatedNodes []p2p.NodeData `json:"federated_nodes" yaml:"federated_nodes"` } -type SystemInformationResponse struct { - Backends []string `json:"backends"` - Models []model.Model `json:"loaded_models"` +type SysInfoModel struct { + ID string `json:"id"` +} + +type SystemInformationResponse struct { + Backends []string `json:"backends"` + Models []SysInfoModel `json:"loaded_models"` } diff --git a/pkg/model/loader.go b/pkg/model/loader.go index ade9944ad..b32e3745e 100644 --- a/pkg/model/loader.go +++ b/pkg/model/loader.go @@ -103,13 +103,13 @@ FILE: return models, nil } -func (ml *ModelLoader) ListModels() []Model { +func (ml *ModelLoader) ListModels() []*Model { ml.mu.Lock() defer ml.mu.Unlock() - models := []Model{} + models := []*Model{} for _, model := range ml.models { - models = append(models, *model) + models = append(models, model) } return models