Pārlūkot izejas kodu

windows: fix model pulling

Michael Yang 1 gadu atpakaļ
vecāks
revīzija
6cea2061ec
2 mainītis faili ar 9 papildinājumiem un 0 dzēšanām
  1. 4 0
      server/images.go
  2. 5 0
      server/modelpath.go

+ 4 - 0
server/images.go

@@ -854,6 +854,10 @@ func downloadBlob(mp ModelPath, digest string, username, password string, fn fun
 		})
 
 		if completed >= total {
+			if err := out.Close(); err != nil {
+				return err
+			}
+
 			if err := os.Rename(fp+"-partial", fp); err != nil {
 				fn(api.ProgressResponse{
 					Status:    fmt.Sprintf("error renaming file: %v", err),

+ 5 - 0
server/modelpath.go

@@ -4,6 +4,7 @@ import (
 	"fmt"
 	"os"
 	"path/filepath"
+	"runtime"
 	"strings"
 )
 
@@ -106,6 +107,10 @@ func GetBlobsPath(digest string) (string, error) {
 		return "", err
 	}
 
+	if runtime.GOOS == "windows" {
+		digest = strings.ReplaceAll(digest, ":", "-")
+	}
+
 	path := filepath.Join(home, ".ollama", "models", "blobs", digest)
 	if err := os.MkdirAll(filepath.Dir(path), 0o755); err != nil {
 		return "", err