mirror of
https://github.com/mudler/LocalAI.git
synced 2025-06-16 05:58:09 +00:00
feat(grpc): backend SPI pluggable in embedding mode (#1621)
* run server * grpc backend embedded support * backend providable
This commit is contained in:
@ -181,3 +181,23 @@ func StartServer(address string, model LLM) error {
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func RunServer(address string, model LLM) (func() error, error) {
|
||||
lis, err := net.Listen("tcp", address)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
s := grpc.NewServer()
|
||||
pb.RegisterBackendServer(s, &server{llm: model})
|
||||
log.Printf("gRPC Server listening at %v", lis.Addr())
|
||||
if err = s.Serve(lis); err != nil {
|
||||
return func() error {
|
||||
return lis.Close()
|
||||
}, err
|
||||
}
|
||||
|
||||
return func() error {
|
||||
s.GracefulStop()
|
||||
return nil
|
||||
}, nil
|
||||
}
|
||||
|
Reference in New Issue
Block a user