mirror of
https://github.com/mudler/LocalAI.git
synced 2024-12-21 21:47:51 +00:00
791c3ace72
* feat: add endpoint to list system informations For now, it lists the available backends, but can be expanded later on to include more system informations (such as GPU devices detected, RAM, threads configured, and so on so forth). Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * show also external backends Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * add test Signed-off-by: Ettore Di Giacinto <mudler@localai.io> --------- Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
30 lines
849 B
Go
30 lines
849 B
Go
package localai
|
|
|
|
import (
|
|
"github.com/gofiber/fiber/v2"
|
|
"github.com/mudler/LocalAI/core/config"
|
|
"github.com/mudler/LocalAI/core/schema"
|
|
"github.com/mudler/LocalAI/pkg/model"
|
|
)
|
|
|
|
// SystemInformations returns the system informations
|
|
// @Summary Show the LocalAI instance information
|
|
// @Success 200 {object} schema.SystemInformationResponse "Response"
|
|
// @Router /system [get]
|
|
func SystemInformations(ml *model.ModelLoader, appConfig *config.ApplicationConfig) func(*fiber.Ctx) error {
|
|
return func(c *fiber.Ctx) error {
|
|
availableBackends, err := ml.ListAvailableBackends(appConfig.AssetsDestination)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
for b := range appConfig.ExternalGRPCBackends {
|
|
availableBackends = append(availableBackends, b)
|
|
}
|
|
return c.JSON(
|
|
schema.SystemInformationResponse{
|
|
Backends: availableBackends,
|
|
},
|
|
)
|
|
}
|
|
}
|