MCPcopy Create free account
hub / github.com/astercloud/aster / parseUsageFromMap

Method parseUsageFromMap

pkg/provider/gemini.go:579–598  ·  view source on GitHub ↗

parseUsageFromMap 从 map 解析 usage

(usageData map[string]any)

Source from the content-addressed store, hash-verified

577
578// parseUsageFromMap 从 map 解析 usage
579func (p *GeminiProvider) parseUsageFromMap(usageData map[string]any) *TokenUsage {
580 usage := &TokenUsage{}
581
582 if promptTokens, ok := usageData["promptTokenCount"].(float64); ok {
583 usage.InputTokens = int64(promptTokens)
584 }
585 if candidatesTokens, ok := usageData["candidatesTokenCount"].(float64); ok {
586 usage.OutputTokens = int64(candidatesTokens)
587 }
588 if totalTokens, ok := usageData["totalTokenCount"].(float64); ok {
589 usage.TotalTokens = int64(totalTokens)
590 }
591
592 // Gemini 支持 Context Caching
593 if cachedTokens, ok := usageData["cachedContentTokenCount"].(float64); ok {
594 usage.CachedTokens = int64(cachedTokens)
595 }
596
597 return usage
598}
599
600// Config 返回配置
601func (p *GeminiProvider) Config() *types.ModelConfig {

Callers 2

parseStreamChunkMethod · 0.95
parseUsageMethod · 0.95

Calls

no outgoing calls

Tested by

no test coverage detected