server: compare options correctly
This commit is contained in:
parent
29b897f525
commit
e3fb1fd3f1
|
@ -52,25 +52,26 @@ func GenerateHandler(c *gin.Context) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
if model.Digest != loaded.digest || !reflect.DeepEqual(loaded.options, req.Options) {
|
opts := api.DefaultOptions()
|
||||||
|
if err := opts.FromMap(model.Options); err != nil {
|
||||||
|
log.Printf("could not load model options: %v", err)
|
||||||
|
c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
if err := opts.FromMap(req.Options); err != nil {
|
||||||
|
log.Printf("could not merge model options: %v", err)
|
||||||
|
c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
if model.Digest != loaded.digest || !reflect.DeepEqual(loaded.options, opts) {
|
||||||
if loaded.llm != nil {
|
if loaded.llm != nil {
|
||||||
loaded.llm.Close()
|
loaded.llm.Close()
|
||||||
loaded.llm = nil
|
loaded.llm = nil
|
||||||
loaded.digest = ""
|
loaded.digest = ""
|
||||||
}
|
}
|
||||||
|
|
||||||
opts := api.DefaultOptions()
|
|
||||||
if err := opts.FromMap(model.Options); err != nil {
|
|
||||||
log.Printf("could not load model options: %v", err)
|
|
||||||
c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()})
|
|
||||||
return
|
|
||||||
}
|
|
||||||
if err := opts.FromMap(req.Options); err != nil {
|
|
||||||
log.Printf("could not merge model options: %v", err)
|
|
||||||
c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()})
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
llm, err := llama.New(model.ModelPath, opts)
|
llm, err := llama.New(model.ModelPath, opts)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()})
|
c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()})
|
||||||
|
@ -79,6 +80,7 @@ func GenerateHandler(c *gin.Context) {
|
||||||
|
|
||||||
loaded.llm = llm
|
loaded.llm = llm
|
||||||
loaded.digest = model.Digest
|
loaded.digest = model.Digest
|
||||||
|
loaded.options = opts
|
||||||
}
|
}
|
||||||
|
|
||||||
sessionDuration := 5 * time.Minute
|
sessionDuration := 5 * time.Minute
|
||||||
|
|
Loading…
Reference in a new issue