From ce951cce5f8e036781c6d6cfabd2e9589e9b3c9b 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 d3e2a2c1..f483e010 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) } }