From 92f4e9e91968b4bddbdf95ff498b935efd98d99d Mon Sep 17 00:00:00 2001 From: shenlan Date: Mon, 11 Aug 2025 16:29:44 +0800 Subject: [PATCH] fix askai route --- server/api/askai.go | 39 ++++++++++++++++++++++++--------------- 1 file changed, 24 insertions(+), 15 deletions(-) diff --git a/server/api/askai.go b/server/api/askai.go index 2a43e1d..0e500ce 100644 --- a/server/api/askai.go +++ b/server/api/askai.go @@ -30,27 +30,36 @@ func registerAskAIRoutes(r *gin.RouterGroup) { c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()}) return } + var chunks any if ragSvc != nil { docs, _ := ragSvc.Query(c.Request.Context(), req.Question, 5) chunks = docs } + answer, err := askFn(req.Question) - if err != nil { - provider, _, _, _, timeout, retries := loadConfig() - slog.Error("askai request failed", - "question", req.Question, - "provider", provider, - "err", err, - ) - c.JSON(http.StatusInternalServerError, gin.H{ - "error": err.Error(), - "config": gin.H{ - "timeout": timeout.Seconds(), - "retries": retries, - }, - }) - return + if err != nil { + provider, _, _, _, timeout, retries := loadConfig() + slog.Error("askai request failed", + "question", req.Question, + "provider", provider, + "err", err, + ) + c.JSON(http.StatusInternalServerError, gin.H{ + "error": err.Error(), + "config": gin.H{ + "timeout": timeout.Seconds(), + "retries": retries, + }, + }) + return + } + + c.JSON(http.StatusOK, gin.H{ + "answer": answer, + "chunks": chunks, + }) + }) } // ConfigPath points to the server configuration file.