diff --git a/api/types.go b/api/types.go index 79bc2c24..2aadcfff 100644 --- a/api/types.go +++ b/api/types.go @@ -33,8 +33,8 @@ type GenerateRequest struct { Model string `json:"model"` Prompt string `json:"prompt"` - ModelOptions `json:"model_opts,omitempty"` - PredictOptions `json:"predict_opts,omitempty"` + ModelOptions *ModelOptions `json:"model_opts,omitempty"` + PredictOptions *PredictOptions `json:"predict_opts,omitempty"` } type ModelOptions struct { diff --git a/server/routes.go b/server/routes.go index 47db78a2..d9e2184f 100644 --- a/server/routes.go +++ b/server/routes.go @@ -38,8 +38,13 @@ func cacheDir() string { func generate(c *gin.Context) { var req api.GenerateRequest - req.ModelOptions = api.DefaultModelOptions - req.PredictOptions = api.DefaultPredictOptions + if req.ModelOptions == nil { + req.ModelOptions = &api.DefaultModelOptions + } + + if req.PredictOptions == nil { + req.PredictOptions = &api.DefaultPredictOptions + } if err := c.ShouldBindJSON(&req); err != nil { c.JSON(http.StatusBadRequest, gin.H{"message": err.Error()}) return