package localai import ( "github.com/labstack/echo/v4" "github.com/mudler/LocalAI/core/schema" "github.com/mudler/LocalAI/core/services" ) // BackendMonitorEndpoint returns the status of the specified backend // @Summary Backend monitor endpoint // @Param request body schema.BackendMonitorRequest true "Backend statistics request" // @Success 200 {object} proto.StatusResponse "Response" // @Router /backend/monitor [get] func BackendMonitorEndpoint(bm *services.BackendMonitorService) echo.HandlerFunc { return func(c echo.Context) error { input := new(schema.BackendMonitorRequest) // Get input data from the request body if err := c.Bind(input); err != nil { return err } resp, err := bm.CheckAndSample(input.Model) if err != nil { return err } return c.JSON(200, resp) } } // BackendShutdownEndpoint shuts down the specified backend // @Summary Backend monitor endpoint // @Param request body schema.BackendMonitorRequest true "Backend statistics request" // @Router /backend/shutdown [post] func BackendShutdownEndpoint(bm *services.BackendMonitorService) echo.HandlerFunc { return func(c echo.Context) error { input := new(schema.BackendMonitorRequest) // Get input data from the request body if err := c.Bind(input); err != nil { return err } return bm.ShutdownModel(input.Model) } }