windows: fix model pulling

This commit is contained in:
Michael Yang 2023-07-20 11:23:43 -07:00
parent 2832801c2a
commit 6cea2061ec
2 changed files with 9 additions and 0 deletions

View file

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

View file

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