Переглянути джерело

let the template do the work

Michael Yang 1 рік тому
батько
коміт
4dcceeffb7
1 змінених файлів з 11 додано та 10 видалено
  1. 11 10
      server/images.go

+ 11 - 10
server/images.go

@@ -901,18 +901,17 @@ func ShowModelfile(model *Model) (string, error) {
 	var mt struct {
 	var mt struct {
 		*Model
 		*Model
 		From       string
 		From       string
-		Parameters []string
+		Parameters map[string][]any
 	}
 	}
 
 
+	mt.Parameters = make(map[string][]any)
 	for k, v := range model.Options {
 	for k, v := range model.Options {
-		switch v := v.(type) {
-		case []interface{}:
-			for _, nv := range v {
-				mt.Parameters = append(mt.Parameters, fmt.Sprintf("%s %v", k, nv))
-			}
-		default:
-			mt.Parameters = append(mt.Parameters, fmt.Sprintf("%s %v", k, v))
+		if s, ok := v.([]any); ok {
+			mt.Parameters[k] = s
+			continue
 		}
 		}
+
+		mt.Parameters[k] = []any{v}
 	}
 	}
 
 
 	mt.Model = model
 	mt.Model = model
@@ -937,8 +936,10 @@ SYSTEM """{{ .System }}"""
 ADAPTER {{ $adapter }}
 ADAPTER {{ $adapter }}
 {{- end }}
 {{- end }}
 
 
-{{- range $parameter := .Parameters }}
-PARAMETER {{ $parameter }}
+{{- range $k, $v := .Parameters }}
+{{- range $parameter := $v }}
+PARAMETER {{ $k }} {{ printf "%#v" $parameter }}
+{{- end }}
 {{- end }}`
 {{- end }}`
 
 
 	tmpl, err := template.New("").Parse(modelFile)
 	tmpl, err := template.New("").Parse(modelFile)