Pārlūkot izejas kodu

perf: only return quota when it's not zero

JustSong 2 gadi atpakaļ
vecāks
revīzija
420c375140
1 mainītis faili ar 9 papildinājumiem un 7 dzēšanām
  1. 9 7
      controller/relay-text.go

+ 9 - 7
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)
 		}
 	}