Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor(application): introduce application global state #2072

Merged
merged 52 commits into from
Apr 29, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
85d0ebb
start breaking up the giant channel refactor now that it's better und…
dave-gray101 Apr 18, 2024
ba4d273
add concurrency and base64 back in, along with new base64 tests.
dave-gray101 Apr 18, 2024
ad601d2
Merge branch 'master' into rf-channel-split-1
dave-gray101 Apr 19, 2024
7ba5c50
Merge branch 'master' into rf-channel-split-1
dave-gray101 Apr 19, 2024
ed07390
Automatic rename of whisper.go's Result to TranscriptResult
dave-gray101 Apr 19, 2024
568721f
Merge branch 'master' into rf-channel-split-1
dave-gray101 Apr 19, 2024
222c33b
Merge branch 'master' into rf-channel-split-1
dave-gray101 Apr 20, 2024
e12b2da
remove pkg/concurrency - significant changes coming in split 2
dave-gray101 Apr 20, 2024
9594ccb
Merge branch 'master' into rf-channel-split-1
dave-gray101 Apr 20, 2024
ead30a5
merge + minor removals from comments on #2077
dave-gray101 Apr 21, 2024
67ea9ef
Merge branch 'master' into rf-channel-split-1
dave-gray101 Apr 21, 2024
65b0aff
Merge branch 'master' into rf-channel-split-1
dave-gray101 Apr 22, 2024
e4515c7
Merge branch 'master' into rf-channel-split-1
dave-gray101 Apr 22, 2024
4fd976d
fix comments
dave-gray101 Apr 22, 2024
2bbd734
Merge branch 'master' into rf-channel-split-1
dave-gray101 Apr 23, 2024
8c8a658
Merge branch 'master' into rf-channel-split-1
dave-gray101 Apr 23, 2024
a7f06ce
Merge branch 'master' into rf-channel-split-1
dave-gray101 Apr 23, 2024
2fc1d48
Merge branch 'master' into rf-channel-split-1
dave-gray101 Apr 23, 2024
255d45b
Merge branch 'master' into rf-channel-split-1
dave-gray101 Apr 23, 2024
5e43406
Merge branch 'master' into rf-channel-split-1
dave-gray101 Apr 23, 2024
ba490bb
add list_model service as another low-risk service to get it out of t…
dave-gray101 Apr 23, 2024
c5113b4
Merge branch 'rf-channel-split-1' of ghgray101:/dave-gray101/LocalAI …
dave-gray101 Apr 23, 2024
e1e37f5
Merge branch 'master' into rf-channel-split-1
dave-gray101 Apr 24, 2024
c741502
Merge branch 'master' into rf-channel-split-1
dave-gray101 Apr 24, 2024
11b7b49
Merge branch 'master' into rf-channel-split-1
dave-gray101 Apr 24, 2024
4ed8952
split backend config loader into seperate file from the actual config…
dave-gray101 Apr 24, 2024
3c4cf11
Merge branch 'master' into rf-channel-split-1
dave-gray101 Apr 24, 2024
f03c0d1
Merge branch 'master' into rf-channel-split-1
dave-gray101 Apr 24, 2024
36c3308
Merge branch 'master' into rf-channel-split-1
dave-gray101 Apr 24, 2024
6661bc1
Merge branch 'master' into rf-channel-split-1
dave-gray101 Apr 25, 2024
b79c2b0
Merge branch 'master' into rf-channel-split-1
dave-gray101 Apr 25, 2024
7561b80
Merge branch 'master' into rf-channel-split-1
dave-gray101 Apr 25, 2024
61cb297
Merge branch 'master' into rf-channel-split-1
dave-gray101 Apr 25, 2024
0c6694a
Merge branch 'master' into rf-channel-split-1
dave-gray101 Apr 25, 2024
b1d501c
merge
dave-gray101 Apr 25, 2024
3d2f9a4
merge
dave-gray101 Apr 26, 2024
5fd329f
Merge branch 'master' into rf-channel-split-1
dave-gray101 Apr 26, 2024
b186e4e
Merge branch 'master' into rf-channel-split-1
dave-gray101 Apr 26, 2024
9d353dd
Merge branch 'master' into rf-channel-split-1
dave-gray101 Apr 27, 2024
ed4acb8
Merge branch 'master' into rf-channel-split-1
dave-gray101 Apr 27, 2024
8b740bb
Merge branch 'master' into rf-channel-split-1
dave-gray101 Apr 27, 2024
a9ca0fa
rename state.go ==> application.go
dave-gray101 Apr 27, 2024
4a8035f
fix lost import?
dave-gray101 Apr 27, 2024
2b406e4
Merge branch 'master' into rf-channel-split-1
dave-gray101 Apr 27, 2024
f1566f4
Merge branch 'master' into rf-channel-split-1
dave-gray101 Apr 28, 2024
09ba132
Merge branch 'master' into rf-channel-split-1
dave-gray101 Apr 28, 2024
d39ef5d
Merge branch 'master' into rf-channel-split-1
dave-gray101 Apr 28, 2024
78bfa2e
merge: backend_config_loader.go replaced
dave-gray101 Apr 28, 2024
b1d4ee0
Merge branch 'master' into rf-channel-split-1
dave-gray101 Apr 29, 2024
8a4de96
Merge branch 'master' into rf-channel-split-1
dave-gray101 Apr 29, 2024
4300a78
Merge branch 'master' into rf-channel-split-1
dave-gray101 Apr 29, 2024
6dd72f7
Merge branch 'master' into rf-channel-split-1
mudler Apr 29, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions backend/go/transcribe/transcript.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,8 @@ func audioToWav(src, dst string) error {
return nil
}

func Transcript(model whisper.Model, audiopath, language string, threads uint) (schema.Result, error) {
res := schema.Result{}
func Transcript(model whisper.Model, audiopath, language string, threads uint) (schema.TranscriptionResult, error) {
res := schema.TranscriptionResult{}

dir, err := os.MkdirTemp("", "whisper")
if err != nil {
Expand Down
2 changes: 1 addition & 1 deletion backend/go/transcribe/whisper.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,6 @@ func (sd *Whisper) Load(opts *pb.ModelOptions) error {
return err
}

func (sd *Whisper) AudioTranscription(opts *pb.TranscriptRequest) (schema.Result, error) {
func (sd *Whisper) AudioTranscription(opts *pb.TranscriptRequest) (schema.TranscriptionResult, error) {
return Transcript(sd.whisper, opts.Dst, opts.Language, uint(opts.Threads))
}
39 changes: 39 additions & 0 deletions core/application.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
package core

import (
"github.com/go-skynet/LocalAI/core/config"
"github.com/go-skynet/LocalAI/core/services"
"github.com/go-skynet/LocalAI/pkg/model"
)

// 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 {
}
2 changes: 1 addition & 1 deletion core/backend/transcript.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import (
model "github.com/go-skynet/LocalAI/pkg/model"
)

func ModelTranscription(audio, language string, ml *model.ModelLoader, backendConfig config.BackendConfig, appConfig *config.ApplicationConfig) (*schema.Result, error) {
func ModelTranscription(audio, language string, ml *model.ModelLoader, backendConfig config.BackendConfig, appConfig *config.ApplicationConfig) (*schema.TranscriptionResult, error) {

opts := modelOpts(backendConfig, appConfig, []model.Option{
model.WithBackendString(model.WhisperBackend),
Expand Down
Loading