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) | |
| } | |