From 420c37514092b4f406b11f3ab21b4b222f64e9c4 Mon Sep 17 00:00:00 2001 From: JustSong Date: Wed, 13 Sep 2023 22:05:10 +0800 Subject: [PATCH] perf: only return quota when it's not zero --- controller/relay-text.go | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/controller/relay-text.go b/controller/relay-text.go index d0fed54a..2cd5598a 100644 --- a/controller/relay-text.go +++ b/controller/relay-text.go @@ -347,13 +347,15 @@ func relayTextHelper(c *gin.Context, relayMode int) *OpenAIErrorWithStatusCode { isStream = isStream || strings.HasPrefix(resp.Header.Get("Content-Type"), "text/event-stream") if resp.StatusCode != http.StatusOK { - go func() { - // return pre-consumed quota - err := model.PostConsumeTokenQuota(tokenId, -preConsumedQuota) - if err != nil { - common.SysError("error return pre-consumed quota: " + err.Error()) - } - }() + if preConsumedQuota != 0 { + go func() { + // return pre-consumed quota + err := model.PostConsumeTokenQuota(tokenId, -preConsumedQuota) + if err != nil { + common.SysError("error return pre-consumed quota: " + err.Error()) + } + }() + } return relayErrorHandler(resp) } }