Spaces:
Sleeping
Sleeping
| 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, | |
| } | |
| } | |