Ver código fonte

fix: retry prompt tokens

[email protected] 1 ano atrás
pai
commit
ef4c1a2e48
3 arquivos alterados com 842 adições e 2084 exclusões
  1. 1 0
      relay/relay-text.go
  2. 7 7
      service/token_counter.go
  3. 834 2077
      web/pnpm-lock.yaml

+ 1 - 0
relay/relay-text.go

@@ -112,6 +112,7 @@ func TextHelper(c *gin.Context) (openaiErr *dto.OpenAIErrorWithStatusCode) {
 	var promptTokens int
 	if value, exists := c.Get("prompt_tokens"); exists {
 		promptTokens = value.(int)
+		relayInfo.PromptTokens = promptTokens
 	} else {
 		promptTokens, err = getPromptTokens(textRequest, relayInfo)
 		// count messages token error 计算promptTokens错误

+ 7 - 7
service/token_counter.go

@@ -92,13 +92,6 @@ func getImageToken(info *relaycommon.RelayInfo, imageUrl *dto.MessageImageUrl, m
 	if !constant.GetMediaTokenNotStream && !stream {
 		return 256, nil
 	}
-	// 是否统计图片token
-	if !constant.GetMediaToken {
-		return 256, nil
-	}
-	if info.ChannelType == common.ChannelTypeGemini || info.ChannelType == common.ChannelTypeVertexAi || info.ChannelType == common.ChannelTypeAnthropic {
-		return 256, nil
-	}
 	// 同步One API的图片计费逻辑
 	if imageUrl.Detail == "auto" || imageUrl.Detail == "" {
 		imageUrl.Detail = "high"
@@ -109,6 +102,13 @@ func getImageToken(info *relaycommon.RelayInfo, imageUrl *dto.MessageImageUrl, m
 		tileTokens = 5667
 		baseTokens = 2833
 	}
+	// 是否统计图片token
+	if !constant.GetMediaToken {
+		return 3 * baseTokens, nil
+	}
+	if info.ChannelType == common.ChannelTypeGemini || info.ChannelType == common.ChannelTypeVertexAi || info.ChannelType == common.ChannelTypeAnthropic {
+		return 3 * baseTokens, nil
+	}
 	var config image.Config
 	var err error
 	var format string

Diferenças do arquivo suprimidas por serem muito extensas
+ 834 - 2077
web/pnpm-lock.yaml


Alguns arquivos não foram mostrados porque muitos arquivos mudaram nesse diff