MCPcopy Create free account
hub / github.com/aiprodcoder/MIXAPI / getGeminiInputTokens

Function getGeminiInputTokens

relay/gemini_handler.go:64–79  ·  view source on GitHub ↗
(req *gemini.GeminiChatRequest, info *relaycommon.RelayInfo)

Source from the content-addressed store, hash-verified

62}
63
64func getGeminiInputTokens(req *gemini.GeminiChatRequest, info *relaycommon.RelayInfo) int {
65 // 计算输入 token 数量
66 var inputTexts []string
67 for _, content := range req.Contents {
68 for _, part := range content.Parts {
69 if part.Text != "" {
70 inputTexts = append(inputTexts, part.Text)
71 }
72 }
73 }
74
75 inputText := strings.Join(inputTexts, "\n")
76 inputTokens := service.CountTokenInput(inputText, info.UpstreamModelName)
77 info.PromptTokens = inputTokens
78 return inputTokens
79}
80
81func isNoThinkingRequest(req *gemini.GeminiChatRequest) bool {
82 if req.GenerationConfig.ThinkingConfig != nil && req.GenerationConfig.ThinkingConfig.ThinkingBudget != nil {

Callers 1

GeminiHelperFunction · 0.85

Calls 1

CountTokenInputFunction · 0.92

Tested by

no test coverage detected