Commit 07137e6b by CaIon

refactor: update token type handling and improve token counting logic

parent 8eb17f24
...@@ -204,7 +204,7 @@ type ClaudeRequest struct { ...@@ -204,7 +204,7 @@ type ClaudeRequest struct {
func (c *ClaudeRequest) GetTokenCountMeta() *types.TokenCountMeta { func (c *ClaudeRequest) GetTokenCountMeta() *types.TokenCountMeta {
var tokenCountMeta = types.TokenCountMeta{ var tokenCountMeta = types.TokenCountMeta{
TokenType: types.TokenTypeTextNumber, TokenType: types.TokenTypeTokenizer,
MaxTokens: int(c.MaxTokens), MaxTokens: int(c.MaxTokens),
} }
......
...@@ -251,9 +251,15 @@ func CountRequestToken(c *gin.Context, meta *types.TokenCountMeta, info *relayco ...@@ -251,9 +251,15 @@ func CountRequestToken(c *gin.Context, meta *types.TokenCountMeta, info *relayco
if info.RelayFormat == types.RelayFormatOpenAIRealtime { if info.RelayFormat == types.RelayFormatOpenAIRealtime {
return 0, nil return 0, nil
} }
model := common.GetContextKeyString(c, constant.ContextKeyOriginalModel) model := common.GetContextKeyString(c, constant.ContextKeyOriginalModel)
tkm := CountTextToken(meta.CombineText, model) tkm := 0
if meta.TokenType == types.TokenTypeTextNumber {
tkm += utf8.RuneCountInString(meta.CombineText)
} else {
tkm += CountTextToken(meta.CombineText, model)
}
if info.RelayFormat == types.RelayFormatOpenAI { if info.RelayFormat == types.RelayFormatOpenAI {
tkm += meta.ToolsCount * 8 tkm += meta.ToolsCount * 8
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment