Spaces:
Configuration error
Configuration error
| package model | |
| import ( | |
| "sync" | |
| grpc "github.com/mudler/LocalAI/pkg/grpc" | |
| process "github.com/mudler/go-processmanager" | |
| ) | |
| type Model struct { | |
| ID string `json:"id"` | |
| address string | |
| client grpc.Backend | |
| process *process.Process | |
| sync.Mutex | |
| } | |
| func NewModel(ID, address string, process *process.Process) *Model { | |
| return &Model{ | |
| ID: ID, | |
| address: address, | |
| process: process, | |
| } | |
| } | |
| func (m *Model) Process() *process.Process { | |
| return m.process | |
| } | |
| func (m *Model) GRPC(parallel bool, wd *WatchDog) grpc.Backend { | |
| if m.client != nil { | |
| return m.client | |
| } | |
| enableWD := false | |
| if wd != nil { | |
| enableWD = true | |
| } | |
| m.Lock() | |
| defer m.Unlock() | |
| m.client = grpc.NewClient(m.address, parallel, wd, enableWD) | |
| return m.client | |
| } | |