d966b730ac
Refactor where we store build outputs, and support a fully dynamic loading model on windows so the base executable has no special dependencies thus doesn't require a special PATH.
29 lines
556 B
Go
29 lines
556 B
Go
package llm
|
|
|
|
import (
|
|
"embed"
|
|
"log"
|
|
"os"
|
|
"strings"
|
|
)
|
|
|
|
//go:embed llama.cpp/gguf/build/windows/*/lib/*.dll
|
|
var libEmbed embed.FS
|
|
|
|
func updatePath(dir string) {
|
|
pathComponents := strings.Split(os.Getenv("PATH"), ";")
|
|
for _, comp := range pathComponents {
|
|
// Case incensitive
|
|
if strings.ToLower(comp) == strings.ToLower(dir) {
|
|
return
|
|
}
|
|
}
|
|
newPath := strings.Join(append(pathComponents, dir), ";")
|
|
log.Printf("Updating PATH to %s", newPath)
|
|
os.Setenv("PATH", newPath)
|
|
}
|
|
|
|
func verifyDriverAccess() error {
|
|
// TODO if applicable
|
|
return nil
|
|
}
|