mirror of
https://github.com/mudler/LocalAI.git
synced 2026-04-01 13:42:20 -04:00
* feat: add distributed mode (experimental) Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * fix data races, mutexes, transactions Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * refactorings Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * fixups Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * fix events and tool stream in agent chat Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * use ginkgo Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * refactoring and consolidation Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * refactoring and consolidation Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * refactoring and consolidation Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * refactoring and consolidation Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * refactoring and consolidation Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * refactoring and consolidation Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * refactoring and consolidation Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * refactoring and consolidation Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * fix(cron): compute correctly time boundaries avoiding re-triggering Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * enhancements, refactorings Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * do not flood of healthy checks Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * do not list obvious backends as text backends Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * tests fixups Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * refactoring and consolidation Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * Drop redundant healthcheck Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * enhancements, refactorings Signed-off-by: Ettore Di Giacinto <mudler@localai.io> --------- Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
41 lines
819 B
Go
41 lines
819 B
Go
package distributed
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"github.com/mudler/xlog"
|
|
"gorm.io/gorm"
|
|
)
|
|
|
|
// Stores holds all Phase 4 distributed stores.
|
|
type Stores struct {
|
|
Gallery *GalleryStore
|
|
FineTune *FineTuneStore
|
|
Skills *SkillStore
|
|
}
|
|
|
|
// InitStores creates and migrates all Phase 4 distributed stores.
|
|
func InitStores(db *gorm.DB) (*Stores, error) {
|
|
gallery, err := NewGalleryStore(db)
|
|
if err != nil {
|
|
return nil, fmt.Errorf("gallery store: %w", err)
|
|
}
|
|
|
|
ft, err := NewFineTuneStore(db)
|
|
if err != nil {
|
|
return nil, fmt.Errorf("fine-tune store: %w", err)
|
|
}
|
|
|
|
skills, err := NewSkillStore(db)
|
|
if err != nil {
|
|
return nil, fmt.Errorf("skills store: %w", err)
|
|
}
|
|
|
|
xlog.Info("Distributed stores initialized (Gallery, FineTune, Skills)")
|
|
return &Stores{
|
|
Gallery: gallery,
|
|
FineTune: ft,
|
|
Skills: skills,
|
|
}, nil
|
|
}
|