mirror of
https://github.com/mudler/LocalAI.git
synced 2024-12-19 04:37:53 +00:00
eed5706994
Refactor: channel based llm flow and services split --------- Signed-off-by: Dave Lee <dave@gray101.com>
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 {
|
|
}
|