Unverified Commit a0a199b1 authored by Jeffrey Morgan's avatar Jeffrey Morgan Committed by GitHub
Browse files

Fix hanging issue when sending empty content (#2399)

parent ab0d37fd
...@@ -181,16 +181,19 @@ func (m *Model) ChatPrompts(msgs []api.Message) (*ChatHistory, error) { ...@@ -181,16 +181,19 @@ func (m *Model) ChatPrompts(msgs []api.Message) (*ChatHistory, error) {
} }
currentVars.Prompt = msg.Content currentVars.Prompt = msg.Content
for i := range msg.Images {
id := len(images) + i
currentVars.Prompt += fmt.Sprintf(" [img-%d]", id)
currentVars.Images = append(currentVars.Images, llm.ImageData{
ID: id,
Data: msg.Images[i],
})
}
images = append(images, currentVars.Images...) if len(m.ProjectorPaths) > 0 {
for i := range msg.Images {
id := len(images) + i
currentVars.Prompt += fmt.Sprintf(" [img-%d]", id)
currentVars.Images = append(currentVars.Images, llm.ImageData{
ID: id,
Data: msg.Images[i],
})
}
images = append(images, currentVars.Images...)
}
case "assistant": case "assistant":
currentVars.Response = msg.Content currentVars.Response = msg.Content
prompts = append(prompts, currentVars) prompts = append(prompts, currentVars)
......
...@@ -1136,18 +1136,6 @@ func ChatHandler(c *gin.Context) { ...@@ -1136,18 +1136,6 @@ func ChatHandler(c *gin.Context) {
return return
} }
// an empty request loads the model
if len(req.Messages) == 0 {
resp := api.ChatResponse{
CreatedAt: time.Now().UTC(),
Model: req.Model,
Done: true,
Message: api.Message{Role: "assistant"},
}
c.JSON(http.StatusOK, resp)
return
}
checkpointLoaded := time.Now() checkpointLoaded := time.Now()
chat, err := model.ChatPrompts(req.Messages) chat, err := model.ChatPrompts(req.Messages)
...@@ -1162,6 +1150,18 @@ func ChatHandler(c *gin.Context) { ...@@ -1162,6 +1150,18 @@ func ChatHandler(c *gin.Context) {
return return
} }
// an empty request loads the model
if len(prompt) == 0 {
resp := api.ChatResponse{
CreatedAt: time.Now().UTC(),
Model: req.Model,
Done: true,
Message: api.Message{Role: "assistant"},
}
c.JSON(http.StatusOK, resp)
return
}
slog.Debug("chat handler", "prompt", prompt) slog.Debug("chat handler", "prompt", prompt)
ch := make(chan any) ch := make(chan any)
......
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