mirror of
https://github.com/mudler/LocalAI.git
synced 2024-12-24 06:46:39 +00:00
42 lines
1.5 KiB
Go
42 lines
1.5 KiB
Go
|
package core
|
||
|
|
||
|
import (
|
||
|
"github.com/go-skynet/LocalAI/core/backend"
|
||
|
"github.com/go-skynet/LocalAI/core/config"
|
||
|
"github.com/go-skynet/LocalAI/core/services"
|
||
|
"github.com/go-skynet/LocalAI/pkg/model"
|
||
|
)
|
||
|
|
||
|
// TODO: Can I come up with a better name or location for this?
|
||
|
// The purpose of this structure is to hold pointers to all initialized services, to make plumbing easy
|
||
|
// Perhaps a proper DI system is worth it in the future, but for now keep things simple.
|
||
|
type Application struct {
|
||
|
|
||
|
// Application-Level Config
|
||
|
ApplicationConfig *config.ApplicationConfig
|
||
|
// ApplicationState *ApplicationState
|
||
|
|
||
|
// Core Low-Level Services
|
||
|
BackendConfigLoader *config.BackendConfigLoader
|
||
|
ModelLoader *model.ModelLoader
|
||
|
|
||
|
// Backend Services
|
||
|
EmbeddingsBackendService *backend.EmbeddingsBackendService
|
||
|
ImageGenerationBackendService *backend.ImageGenerationBackendService
|
||
|
LLMBackendService *backend.LLMBackendService
|
||
|
TranscriptionBackendService *backend.TranscriptionBackendService
|
||
|
TextToSpeechBackendService *backend.TextToSpeechBackendService
|
||
|
|
||
|
// LocalAI System Services
|
||
|
BackendMonitorService *services.BackendMonitorService
|
||
|
GalleryService *services.GalleryService
|
||
|
ListModelsService *services.ListModelsService
|
||
|
LocalAIMetricsService *services.LocalAIMetricsService
|
||
|
OpenAIService *services.OpenAIService
|
||
|
}
|
||
|
|
||
|
// TODO [NEXT PR?]: Break up ApplicationConfig.
|
||
|
// Migrate over stuff that is not set via config at all - especially runtime stuff
|
||
|
type ApplicationState struct {
|
||
|
}
|