瀏覽代碼

windows: fix create modelfile

Michael Yang 1 年之前
父節點
當前提交
1c8fd627ad
共有 1 個文件被更改,包括 5 次插入16 次删除
  1. 5 16
      server/images.go

+ 5 - 16
server/images.go

@@ -235,8 +235,8 @@ func GetModel(name string) (*Model, error) {
 
 
 func filenameWithPath(path, f string) (string, error) {
 func filenameWithPath(path, f string) (string, error) {
 	// if filePath starts with ~/, replace it with the user's home directory.
 	// if filePath starts with ~/, replace it with the user's home directory.
-	if strings.HasPrefix(f, "~/") {
-		parts := strings.Split(f, "/")
+	if strings.HasPrefix(f, fmt.Sprintf("~%s", string(os.PathSeparator))) {
+		parts := strings.Split(f, string(os.PathSeparator))
 		home, err := os.UserHomeDir()
 		home, err := os.UserHomeDir()
 		if err != nil {
 		if err != nil {
 			return "", fmt.Errorf("failed to open file: %v", err)
 			return "", fmt.Errorf("failed to open file: %v", err)
@@ -374,20 +374,9 @@ func CreateModel(ctx context.Context, name string, path string, fn func(resp api
 		case "adapter":
 		case "adapter":
 			fn(api.ProgressResponse{Status: fmt.Sprintf("creating model %s layer", c.Name)})
 			fn(api.ProgressResponse{Status: fmt.Sprintf("creating model %s layer", c.Name)})
 
 
-			fp := c.Args
-			if strings.HasPrefix(fp, "~/") {
-				parts := strings.Split(fp, "/")
-				home, err := os.UserHomeDir()
-				if err != nil {
-					return fmt.Errorf("failed to open file: %v", err)
-				}
-
-				fp = filepath.Join(home, filepath.Join(parts[1:]...))
-			}
-
-			// If filePath is not an absolute path, make it relative to the modelfile path
-			if !filepath.IsAbs(fp) {
-				fp = filepath.Join(filepath.Dir(path), fp)
+			fp, err := filenameWithPath(path, c.Args)
+			if err != nil {
+				return err
 			}
 			}
 
 
 			// create a model from this specified file
 			// create a model from this specified file