diff --git a/core/cli/worker/worker_llamacpp.go b/core/cli/worker/worker_llamacpp.go index 7a68a44823da..4b6e06e85134 100644 --- a/core/cli/worker/worker_llamacpp.go +++ b/core/cli/worker/worker_llamacpp.go @@ -7,6 +7,7 @@ import ( cliContext "github.com/go-skynet/LocalAI/core/cli/context" "github.com/go-skynet/LocalAI/pkg/assets" + "github.com/go-skynet/LocalAI/pkg/library" "github.com/rs/zerolog/log" ) @@ -27,17 +28,18 @@ func (r *LLamaCPP) Run(ctx *cliContext.Context) error { return fmt.Errorf("usage: local-ai worker llama-cpp-rpc -- ") } + grpcProcess := assets.ResolvePath( + r.BackendAssetsPath, + "util", + "llama-cpp-rpc-server", + ) + + args := os.Args[4:] + args, grpcProcess = library.LoadLDSO(r.BackendAssetsPath, args, grpcProcess) + + args = append([]string{grpcProcess}, args...) return syscall.Exec( - assets.ResolvePath( - r.BackendAssetsPath, - "util", - "llama-cpp-rpc-server", - ), - append([]string{ - assets.ResolvePath( - r.BackendAssetsPath, - "util", - "llama-cpp-rpc-server", - )}, os.Args[4:]...), + grpcProcess, + args, os.Environ()) } diff --git a/core/cli/worker/worker_p2p.go b/core/cli/worker/worker_p2p.go index 02a3c3131414..248cbd4f856e 100644 --- a/core/cli/worker/worker_p2p.go +++ b/core/cli/worker/worker_p2p.go @@ -13,6 +13,7 @@ import ( cliContext "github.com/go-skynet/LocalAI/core/cli/context" "github.com/go-skynet/LocalAI/core/p2p" "github.com/go-skynet/LocalAI/pkg/assets" + "github.com/go-skynet/LocalAI/pkg/library" "github.com/phayes/freeport" "github.com/rs/zerolog/log" ) @@ -71,13 +72,18 @@ func (r *P2P) Run(ctx *cliContext.Context) error { go func() { for { log.Info().Msgf("Starting llama-cpp-rpc-server on '%s:%d'", address, port) + + grpcProcess := assets.ResolvePath( + r.BackendAssetsPath, + "util", + "llama-cpp-rpc-server", + ) + + args := append([]string{"--host", address, "--port", fmt.Sprint(port)}, r.ExtraLLamaCPPArgs...) + args, grpcProcess = library.LoadLDSO(o.assetDir, args, grpcProcess) + cmd := exec.Command( - assets.ResolvePath( - r.BackendAssetsPath, - "util", - "llama-cpp-rpc-server", - ), - append([]string{"--host", address, "--port", fmt.Sprint(port)}, r.ExtraLLamaCPPArgs...)..., + grpcProcess, args..., ) cmd.Env = os.Environ()