Spaces:
Configuration error
Configuration error
| package routes | |
| import ( | |
| "github.com/gofiber/fiber/v2" | |
| "github.com/gofiber/swagger" | |
| "github.com/mudler/LocalAI/core/config" | |
| "github.com/mudler/LocalAI/core/http/endpoints/localai" | |
| "github.com/mudler/LocalAI/core/p2p" | |
| "github.com/mudler/LocalAI/core/services" | |
| "github.com/mudler/LocalAI/internal" | |
| "github.com/mudler/LocalAI/pkg/model" | |
| ) | |
| func RegisterLocalAIRoutes(app *fiber.App, | |
| cl *config.BackendConfigLoader, | |
| ml *model.ModelLoader, | |
| appConfig *config.ApplicationConfig, | |
| galleryService *services.GalleryService) { | |
| app.Get("/swagger/*", swagger.HandlerDefault) // default | |
| // LocalAI API endpoints | |
| if !appConfig.DisableGalleryEndpoint { | |
| modelGalleryEndpointService := localai.CreateModelGalleryEndpointService(appConfig.Galleries, appConfig.ModelPath, galleryService) | |
| app.Post("/models/apply", modelGalleryEndpointService.ApplyModelGalleryEndpoint()) | |
| app.Post("/models/delete/:name", modelGalleryEndpointService.DeleteModelGalleryEndpoint()) | |
| app.Get("/models/available", modelGalleryEndpointService.ListModelFromGalleryEndpoint()) | |
| app.Get("/models/galleries", modelGalleryEndpointService.ListModelGalleriesEndpoint()) | |
| app.Post("/models/galleries", modelGalleryEndpointService.AddModelGalleryEndpoint()) | |
| app.Delete("/models/galleries", modelGalleryEndpointService.RemoveModelGalleryEndpoint()) | |
| app.Get("/models/jobs/:uuid", modelGalleryEndpointService.GetOpStatusEndpoint()) | |
| app.Get("/models/jobs", modelGalleryEndpointService.GetAllStatusEndpoint()) | |
| } | |
| app.Post("/tts", localai.TTSEndpoint(cl, ml, appConfig)) | |
| // Stores | |
| sl := model.NewModelLoader("") | |
| app.Post("/stores/set", localai.StoresSetEndpoint(sl, appConfig)) | |
| app.Post("/stores/delete", localai.StoresDeleteEndpoint(sl, appConfig)) | |
| app.Post("/stores/get", localai.StoresGetEndpoint(sl, appConfig)) | |
| app.Post("/stores/find", localai.StoresFindEndpoint(sl, appConfig)) | |
| if !appConfig.DisableMetrics { | |
| app.Get("/metrics", localai.LocalAIMetricsEndpoint()) | |
| } | |
| // Experimental Backend Statistics Module | |
| backendMonitorService := services.NewBackendMonitorService(ml, cl, appConfig) // Split out for now | |
| app.Get("/backend/monitor", localai.BackendMonitorEndpoint(backendMonitorService)) | |
| app.Post("/backend/shutdown", localai.BackendShutdownEndpoint(backendMonitorService)) | |
| // p2p | |
| if p2p.IsP2PEnabled() { | |
| app.Get("/api/p2p", localai.ShowP2PNodes(appConfig)) | |
| app.Get("/api/p2p/token", localai.ShowP2PToken(appConfig)) | |
| } | |
| app.Get("/version", func(c *fiber.Ctx) error { | |
| return c.JSON(struct { | |
| Version string `json:"version"` | |
| }{Version: internal.PrintableVersion()}) | |
| }) | |
| app.Get("/system", localai.SystemInformations(ml, appConfig)) | |
| // misc | |
| app.Post("/v1/tokenize", localai.TokenizeEndpoint(cl, ml, appConfig)) | |
| } | |