shim_ext_server_windows.go 742 B

123456789101112131415161718192021222324252627282930313233343536
  1. package llm
  2. import (
  3. "embed"
  4. "log"
  5. "os"
  6. "path/filepath"
  7. "strings"
  8. )
  9. //go:embed llama.cpp/build/windows/*/lib/*.dll
  10. var libEmbed embed.FS
  11. func updatePath(dir string) {
  12. tmpDir := filepath.Dir(dir)
  13. pathComponents := strings.Split(os.Getenv("PATH"), ";")
  14. i := 0
  15. for _, comp := range pathComponents {
  16. if strings.EqualFold(comp, dir) {
  17. return
  18. }
  19. // Remove any other prior paths to our temp dir
  20. if !strings.HasPrefix(strings.ToLower(comp), strings.ToLower(tmpDir)) {
  21. pathComponents[i] = comp
  22. i++
  23. }
  24. }
  25. newPath := strings.Join(append([]string{dir}, pathComponents...), ";")
  26. log.Printf("Updating PATH to %s", newPath)
  27. os.Setenv("PATH", newPath)
  28. }
  29. func verifyDriverAccess() error {
  30. // TODO if applicable
  31. return nil
  32. }