|
@@ -152,9 +152,10 @@ func (s *Server) GenerateHandler(c *gin.Context) {
|
|
|
// of `raw` mode so we need to check for it too
|
|
|
if req.Prompt == "" && req.Template == "" && req.System == "" {
|
|
|
c.JSON(http.StatusOK, api.GenerateResponse{
|
|
|
- CreatedAt: time.Now().UTC(),
|
|
|
- Model: req.Model,
|
|
|
- Done: true,
|
|
|
+ CreatedAt: time.Now().UTC(),
|
|
|
+ Model: req.Model,
|
|
|
+ Done: true,
|
|
|
+ DoneReason: "load",
|
|
|
})
|
|
|
return
|
|
|
}
|
|
@@ -222,10 +223,11 @@ func (s *Server) GenerateHandler(c *gin.Context) {
|
|
|
}
|
|
|
|
|
|
resp := api.GenerateResponse{
|
|
|
- Model: req.Model,
|
|
|
- CreatedAt: time.Now().UTC(),
|
|
|
- Done: r.Done,
|
|
|
- Response: r.Content,
|
|
|
+ Model: req.Model,
|
|
|
+ CreatedAt: time.Now().UTC(),
|
|
|
+ Done: r.Done,
|
|
|
+ Response: r.Content,
|
|
|
+ DoneReason: r.DoneReason,
|
|
|
Metrics: api.Metrics{
|
|
|
PromptEvalCount: r.PromptEvalCount,
|
|
|
PromptEvalDuration: r.PromptEvalDuration,
|
|
@@ -1215,10 +1217,11 @@ func (s *Server) ChatHandler(c *gin.Context) {
|
|
|
// an empty request loads the model
|
|
|
if len(req.Messages) == 0 || prompt == "" {
|
|
|
resp := api.ChatResponse{
|
|
|
- CreatedAt: time.Now().UTC(),
|
|
|
- Model: req.Model,
|
|
|
- Done: true,
|
|
|
- Message: api.Message{Role: "assistant"},
|
|
|
+ CreatedAt: time.Now().UTC(),
|
|
|
+ Model: req.Model,
|
|
|
+ Done: true,
|
|
|
+ DoneReason: "load",
|
|
|
+ Message: api.Message{Role: "assistant"},
|
|
|
}
|
|
|
c.JSON(http.StatusOK, resp)
|
|
|
return
|
|
@@ -1251,10 +1254,11 @@ func (s *Server) ChatHandler(c *gin.Context) {
|
|
|
fn := func(r llm.CompletionResponse) {
|
|
|
|
|
|
resp := api.ChatResponse{
|
|
|
- Model: req.Model,
|
|
|
- CreatedAt: time.Now().UTC(),
|
|
|
- Message: api.Message{Role: "assistant", Content: r.Content},
|
|
|
- Done: r.Done,
|
|
|
+ Model: req.Model,
|
|
|
+ CreatedAt: time.Now().UTC(),
|
|
|
+ Message: api.Message{Role: "assistant", Content: r.Content},
|
|
|
+ Done: r.Done,
|
|
|
+ DoneReason: r.DoneReason,
|
|
|
Metrics: api.Metrics{
|
|
|
PromptEvalCount: r.PromptEvalCount,
|
|
|
PromptEvalDuration: r.PromptEvalDuration,
|