Преглед изворни кода

fix: do not charge the user if the amount of tokens used was zero

JustSong пре 2 година
родитељ
комит
dd8e8d5ee8
1 измењених фајлова са 6 додато и 0 уклоњено
  1. 6 0
      controller/relay-text.go

+ 6 - 0
controller/relay-text.go

@@ -139,6 +139,12 @@ func relayTextHelper(c *gin.Context, relayMode int) *OpenAIErrorWithStatusCode {
 			if ratio != 0 && quota <= 0 {
 				quota = 1
 			}
+			totalTokens := promptTokens + completionTokens
+			if totalTokens == 0 {
+				// in this case, must be some error happened
+				// we cannot just return, because we may have to return the pre-consumed quota
+				quota = 0
+			}
 			quotaDelta := quota - preConsumedQuota
 			err := model.PostConsumeTokenQuota(tokenId, quotaDelta)
 			if err != nil {