Skip to content

Commit

Permalink
server: compare options correctly
Browse files Browse the repository at this point in the history
  • Loading branch information
jmorganca committed Aug 3, 2023
1 parent 29b897f commit e3fb1fd
Showing 1 changed file with 15 additions and 13 deletions.
28 changes: 15 additions & 13 deletions server/routes.go
Original file line number Diff line number Diff line change
Expand Up @@ -52,25 +52,26 @@ func GenerateHandler(c *gin.Context) {
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 {
loaded.llm.Close()
loaded.llm = nil
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)
if err != nil {
c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()})
Expand All @@ -79,6 +80,7 @@ func GenerateHandler(c *gin.Context) {

loaded.llm = llm
loaded.digest = model.Digest
loaded.options = opts
}

sessionDuration := 5 * time.Minute
Expand Down

0 comments on commit e3fb1fd

Please sign in to comment.