Spaces:
Configuration error
Configuration error
package grpc | |
import ( | |
"context" | |
pb "github.com/mudler/LocalAI/pkg/grpc/proto" | |
"google.golang.org/grpc" | |
) | |
var embeds = map[string]*embedBackend{} | |
func Provide(addr string, llm LLM) { | |
embeds[addr] = &embedBackend{s: &server{llm: llm}} | |
} | |
func NewClient(address string, parallel bool, wd WatchDog, enableWatchDog bool) Backend { | |
if bc, ok := embeds[address]; ok { | |
return bc | |
} | |
return buildClient(address, parallel, wd, enableWatchDog) | |
} | |
func buildClient(address string, parallel bool, wd WatchDog, enableWatchDog bool) Backend { | |
if !enableWatchDog { | |
wd = nil | |
} | |
return &Client{ | |
address: address, | |
parallel: parallel, | |
wd: wd, | |
} | |
} | |
type Backend interface { | |
IsBusy() bool | |
HealthCheck(ctx context.Context) (bool, error) | |
Embeddings(ctx context.Context, in *pb.PredictOptions, opts ...grpc.CallOption) (*pb.EmbeddingResult, error) | |
Predict(ctx context.Context, in *pb.PredictOptions, opts ...grpc.CallOption) (*pb.Reply, error) | |
LoadModel(ctx context.Context, in *pb.ModelOptions, opts ...grpc.CallOption) (*pb.Result, error) | |
PredictStream(ctx context.Context, in *pb.PredictOptions, f func(s []byte), opts ...grpc.CallOption) error | |
GenerateImage(ctx context.Context, in *pb.GenerateImageRequest, opts ...grpc.CallOption) (*pb.Result, error) | |
TTS(ctx context.Context, in *pb.TTSRequest, opts ...grpc.CallOption) (*pb.Result, error) | |
SoundGeneration(ctx context.Context, in *pb.SoundGenerationRequest, opts ...grpc.CallOption) (*pb.Result, error) | |
AudioTranscription(ctx context.Context, in *pb.TranscriptRequest, opts ...grpc.CallOption) (*pb.TranscriptResult, error) | |
TokenizeString(ctx context.Context, in *pb.PredictOptions, opts ...grpc.CallOption) (*pb.TokenizationResponse, error) | |
Status(ctx context.Context) (*pb.StatusResponse, error) | |
StoresSet(ctx context.Context, in *pb.StoresSetOptions, opts ...grpc.CallOption) (*pb.Result, error) | |
StoresDelete(ctx context.Context, in *pb.StoresDeleteOptions, opts ...grpc.CallOption) (*pb.Result, error) | |
StoresGet(ctx context.Context, in *pb.StoresGetOptions, opts ...grpc.CallOption) (*pb.StoresGetResult, error) | |
StoresFind(ctx context.Context, in *pb.StoresFindOptions, opts ...grpc.CallOption) (*pb.StoresFindResult, error) | |
Rerank(ctx context.Context, in *pb.RerankRequest, opts ...grpc.CallOption) (*pb.RerankResult, error) | |
GetTokenMetrics(ctx context.Context, in *pb.MetricsRequest, opts ...grpc.CallOption) (*pb.MetricsResponse, error) | |
} | |