From a9211d66f6717989c634e4de595c84436e2d4ac5 Mon Sep 17 00:00:00 2001 From: Dafei Zhao Date: Mon, 27 May 2024 13:26:07 -0400 Subject: [PATCH] fix: fix gpt-4o token encoding (#1446) --- relay/adaptor/openai/token.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/relay/adaptor/openai/token.go b/relay/adaptor/openai/token.go index bb9c38a9..ddbfad86 100644 --- a/relay/adaptor/openai/token.go +++ b/relay/adaptor/openai/token.go @@ -24,6 +24,10 @@ func InitTokenEncoders() { logger.FatalLog(fmt.Sprintf("failed to get gpt-3.5-turbo token encoder: %s", err.Error())) } defaultTokenEncoder = gpt35TokenEncoder + gpt4oTokenEncoder, err := tiktoken.EncodingForModel("gpt-4o") + if err != nil { + logger.FatalLog(fmt.Sprintf("failed to get gpt-4o token encoder: %s", err.Error())) + } gpt4TokenEncoder, err := tiktoken.EncodingForModel("gpt-4") if err != nil { logger.FatalLog(fmt.Sprintf("failed to get gpt-4 token encoder: %s", err.Error())) @@ -31,6 +35,8 @@ func InitTokenEncoders() { for model := range billingratio.ModelRatio { if strings.HasPrefix(model, "gpt-3.5") { tokenEncoderMap[model] = gpt35TokenEncoder + } else if strings.HasPrefix(model, "gpt-4o") { + tokenEncoderMap[model] = gpt4oTokenEncoder } else if strings.HasPrefix(model, "gpt-4") { tokenEncoderMap[model] = gpt4TokenEncoder } else {