From 79379daab4075289e441961ee912d5393c290ce1 Mon Sep 17 00:00:00 2001 From: venjiang Date: Mon, 26 Aug 2024 16:27:44 +0800 Subject: [PATCH] fix: when tools exists, but no call function response is empty --- server/routes.go | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/server/routes.go b/server/routes.go index 3801b0b4..5230378b 100644 --- a/server/routes.go +++ b/server/routes.go @@ -1415,11 +1415,9 @@ func (s *Server) ChatHandler(c *gin.Context) { // no stream response if req.Stream != nil && !*req.Stream { var resp api.ChatResponse - // var sb strings.Builder for rr := range ch { switch t := rr.(type) { case api.ChatResponse: - // sb.WriteString(t.Message.Content) resp = t case gin.H: msg, ok := t["error"].(string) @@ -1435,14 +1433,14 @@ func (s *Server) ChatHandler(c *gin.Context) { } } - // resp.Message.Content = sb.String() content := <-contentCh resp.Message.Content = content if toolsRequired { - // if toolCalls, ok := m.parseToolCalls(sb.String()); ok { - resp.Message.ToolCalls = <-toolCallsCh - resp.Message.Content = "" - // } + toolCalls := <-toolCallsCh + if len(toolCalls) > 0 { + resp.Message.ToolCalls = toolCalls + resp.Message.Content = "" + } } c.JSON(http.StatusOK, resp)