From 3fbdd502b66ebbdaf758543c142209b6eec80af5 Mon Sep 17 00:00:00 2001 From: CalciumIon <1808837298@qq.com> Date: Wed, 18 Sep 2024 18:55:11 +0800 Subject: [PATCH 1/4] fix: token group #477 --- middleware/distributor.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/middleware/distributor.go b/middleware/distributor.go index 0393d24f..7a959649 100644 --- a/middleware/distributor.go +++ b/middleware/distributor.go @@ -41,9 +41,14 @@ func Distribute() func(c *gin.Context) { userGroup, _ := model.CacheGetUserGroup(userId) tokenGroup := c.GetString("token_group") if tokenGroup != "" { + // check common.UserUsableGroups[userGroup] + if _, ok := common.UserUsableGroups[tokenGroup]; !ok { + abortWithOpenAiMessage(c, http.StatusForbidden, fmt.Sprintf("令牌分组 %s 已被禁用", tokenGroup)) + return + } // check group in common.GroupRatio if _, ok := common.GroupRatio[tokenGroup]; !ok { - abortWithOpenAiMessage(c, http.StatusForbidden, fmt.Sprintf("分组 %s 已被禁用", tokenGroup)) + abortWithOpenAiMessage(c, http.StatusForbidden, fmt.Sprintf("分组 %s 已被弃用", tokenGroup)) return } userGroup = tokenGroup From af7fecbfa7801e84f4c922785c0e666ef7b220d6 Mon Sep 17 00:00:00 2001 From: CalciumIon <1808837298@qq.com> Date: Wed, 18 Sep 2024 19:19:37 +0800 Subject: [PATCH 2/4] =?UTF-8?q?fix:=20=E4=BD=BF=E7=94=A8=E4=BB=A4=E7=89=8C?= =?UTF-8?q?=E5=88=86=E7=BB=84=E6=97=B6=20"/v1/models"=20=E8=BF=94=E5=9B=9E?= =?UTF-8?q?=E6=A8=A1=E5=9E=8B=E4=B8=8D=E6=AD=A3=E7=A1=AE=20#481?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- controller/model.go | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/controller/model.go b/controller/model.go index 36beb2d1..3d207023 100644 --- a/controller/model.go +++ b/controller/model.go @@ -137,15 +137,6 @@ func init() { } func ListModels(c *gin.Context) { - userId := c.GetInt("id") - user, err := model.GetUserById(userId, true) - if err != nil { - c.JSON(http.StatusOK, gin.H{ - "success": false, - "message": err.Error(), - }) - return - } userOpenAiModels := make([]dto.OpenAIModels, 0) permission := getPermission() @@ -174,7 +165,21 @@ func ListModels(c *gin.Context) { } } } else { - models := model.GetGroupModels(user.Group) + userId := c.GetInt("id") + userGroup, err := model.GetUserGroup(userId) + if err != nil { + c.JSON(http.StatusOK, gin.H{ + "success": false, + "message": "get user group failed", + }) + return + } + group := userGroup + tokenGroup := c.GetString("token_group") + if tokenGroup != "" { + group = tokenGroup + } + models := model.GetGroupModels(group) for _, s := range models { if _, ok := openAIModelsMap[s]; ok { userOpenAiModels = append(userOpenAiModels, openAIModelsMap[s]) From 3aa86a8cd91a26e5d2793dd2543ae3f7f5adb6ed Mon Sep 17 00:00:00 2001 From: CalciumIon <1808837298@qq.com> Date: Wed, 18 Sep 2024 20:37:22 +0800 Subject: [PATCH 3/4] feat: update gemini completion ratio #479 --- common/model-ratio.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/model-ratio.go b/common/model-ratio.go index b45ed293..9dcd170f 100644 --- a/common/model-ratio.go +++ b/common/model-ratio.go @@ -375,7 +375,7 @@ func GetCompletionRatio(name string) float64 { return 3 } if strings.HasPrefix(name, "gemini-") { - return 3 + return 4 } if strings.HasPrefix(name, "command") { switch name { From af33f36c7b8f814cbee7a734542293a35716b1cf Mon Sep 17 00:00:00 2001 From: CalciumIon <1808837298@qq.com> Date: Wed, 18 Sep 2024 20:39:06 +0800 Subject: [PATCH 4/4] feat: update gemini flash completion ratio #479 --- common/model-ratio.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/common/model-ratio.go b/common/model-ratio.go index 9dcd170f..3713c2c4 100644 --- a/common/model-ratio.go +++ b/common/model-ratio.go @@ -375,7 +375,10 @@ func GetCompletionRatio(name string) float64 { return 3 } if strings.HasPrefix(name, "gemini-") { - return 4 + if strings.Contains(name, "flash") { + return 4 + } + return 3 } if strings.HasPrefix(name, "command") { switch name {