"vscode:/vscode.git/clone" did not exist on "d5202c46f7c42ea81f75dbc99f6eb1c5697c6b40"
Commit 4dcceeff authored by Michael Yang's avatar Michael Yang
Browse files

let the template do the work

parent 019e4a45
...@@ -901,18 +901,17 @@ func ShowModelfile(model *Model) (string, error) { ...@@ -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) { if s, ok := v.([]any); ok {
case []interface{}: mt.Parameters[k] = s
for _, nv := range v { continue
mt.Parameters = append(mt.Parameters, fmt.Sprintf("%s %v", k, nv))
}
default:
mt.Parameters = append(mt.Parameters, fmt.Sprintf("%s %v", k, v))
} }
mt.Parameters[k] = []any{v}
} }
mt.Model = model mt.Model = model
...@@ -937,8 +936,10 @@ SYSTEM """{{ .System }}""" ...@@ -937,8 +936,10 @@ SYSTEM """{{ .System }}"""
ADAPTER {{ $adapter }} ADAPTER {{ $adapter }}
{{- end }} {{- end }}
{{- range $parameter := .Parameters }} {{- range $k, $v := .Parameters }}
PARAMETER {{ $parameter }} {{- range $parameter := $v }}
PARAMETER {{ $k }} {{ printf "%#v" $parameter }}
{{- end }}
{{- end }}` {{- end }}`
tmpl, err := template.New("").Parse(modelFile) tmpl, err := template.New("").Parse(modelFile)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment