diff --git a/discover/path.go b/discover/path.go index 23aa8110d..8a20d8c21 100644 --- a/discover/path.go +++ b/discover/path.go @@ -19,6 +19,10 @@ var LibOllamaPath string = func() string { return "" } + if eval, err := filepath.EvalSymlinks(exe); err == nil { + exe = eval + } + var libPath string switch runtime.GOOS { case "windows": diff --git a/llm/server.go b/llm/server.go index f88963060..fd027a535 100644 --- a/llm/server.go +++ b/llm/server.go @@ -320,6 +320,10 @@ func NewLlamaServer(gpus discover.GpuInfoList, model string, f *ggml.GGML, adapt return nil, fmt.Errorf("unable to lookup executable path: %w", err) } + if eval, err := filepath.EvalSymlinks(exe); err == nil { + exe = eval + } + // TODO - once fully switched to the Go runner, load the model here for tokenize/detokenize cgo access s := &llmServer{ port: port,