jb2api / internal /utils /token.go
github-actions[bot]
Update from GitHub Actions
6fefda3
raw
history blame contribute delete
625 Bytes
package utils
import (
"fmt"
"github.com/pkoukk/tiktoken-go"
"github.com/sashabaranov/go-openai"
)
func CalculateTokens(text string) int {
encoding := "cl100k_base"
tke, err := tiktoken.GetEncoding(encoding)
if err != nil {
err = fmt.Errorf("getEncoding: %v", err)
return 0
}
token := tke.Encode(text, nil, nil)
return len(token)
}
func CalculateJetbrainsUsage(completionText string, spent int) openai.Usage {
completionTokens := CalculateTokens(completionText)
return openai.Usage{
PromptTokens: spent - completionTokens,
CompletionTokens: spent - completionTokens,
TotalTokens: spent,
}
}