image: show parameters
This commit is contained in:
parent
627d04d927
commit
019e4a4558
@ -898,51 +898,28 @@ func DeleteModel(name string) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func ShowModelfile(model *Model) (string, error) {
|
func ShowModelfile(model *Model) (string, error) {
|
||||||
type modelTemplate struct {
|
var mt struct {
|
||||||
*Model
|
*Model
|
||||||
From string
|
From string
|
||||||
Params string
|
Parameters []string
|
||||||
}
|
}
|
||||||
|
|
||||||
var params []string
|
|
||||||
for k, v := range model.Options {
|
for k, v := range model.Options {
|
||||||
switch val := v.(type) {
|
switch v := v.(type) {
|
||||||
case string:
|
|
||||||
params = append(params, fmt.Sprintf("PARAMETER %s %s", k, val))
|
|
||||||
case int:
|
|
||||||
params = append(params, fmt.Sprintf("PARAMETER %s %s", k, strconv.Itoa(val)))
|
|
||||||
case float64:
|
|
||||||
params = append(params, fmt.Sprintf("PARAMETER %s %s", k, strconv.FormatFloat(val, 'f', 0, 64)))
|
|
||||||
case bool:
|
|
||||||
params = append(params, fmt.Sprintf("PARAMETER %s %s", k, strconv.FormatBool(val)))
|
|
||||||
case []interface{}:
|
case []interface{}:
|
||||||
for _, nv := range val {
|
for _, nv := range v {
|
||||||
switch nval := nv.(type) {
|
mt.Parameters = append(mt.Parameters, fmt.Sprintf("%s %v", k, nv))
|
||||||
case string:
|
|
||||||
params = append(params, fmt.Sprintf("PARAMETER %s %s", k, nval))
|
|
||||||
case int:
|
|
||||||
params = append(params, fmt.Sprintf("PARAMETER %s %s", k, strconv.Itoa(nval)))
|
|
||||||
case float64:
|
|
||||||
params = append(params, fmt.Sprintf("PARAMETER %s %s", k, strconv.FormatFloat(nval, 'f', 0, 64)))
|
|
||||||
case bool:
|
|
||||||
params = append(params, fmt.Sprintf("PARAMETER %s %s", k, strconv.FormatBool(nval)))
|
|
||||||
default:
|
|
||||||
log.Printf("unknown type: %s", reflect.TypeOf(nv).String())
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
log.Printf("unknown type: %s", reflect.TypeOf(v).String())
|
mt.Parameters = append(mt.Parameters, fmt.Sprintf("%s %v", k, v))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
mt := modelTemplate{
|
mt.Model = model
|
||||||
Model: model,
|
mt.From = model.ModelPath
|
||||||
From: model.OriginalModel,
|
|
||||||
Params: strings.Join(params, "\n"),
|
|
||||||
}
|
|
||||||
|
|
||||||
if mt.From == "" {
|
if model.OriginalModel != "" {
|
||||||
mt.From = model.ModelPath
|
mt.From = model.OriginalModel
|
||||||
}
|
}
|
||||||
|
|
||||||
modelFile := `# Modelfile generated by "ollama show"
|
modelFile := `# Modelfile generated by "ollama show"
|
||||||
@ -959,8 +936,10 @@ SYSTEM """{{ .System }}"""
|
|||||||
{{- range $adapter := .AdapterPaths }}
|
{{- range $adapter := .AdapterPaths }}
|
||||||
ADAPTER {{ $adapter }}
|
ADAPTER {{ $adapter }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{ .Params }}
|
|
||||||
`
|
{{- range $parameter := .Parameters }}
|
||||||
|
PARAMETER {{ $parameter }}
|
||||||
|
{{- end }}`
|
||||||
|
|
||||||
tmpl, err := template.New("").Parse(modelFile)
|
tmpl, err := template.New("").Parse(modelFile)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user