Module: LlmCostTracker::EventMetadata

Defined in:
lib/llm_cost_tracker/event_metadata.rb

Constant Summary collapse

INTERNAL_TAG_KEYS =
%w[
  cache_creation_input_tokens
  cache_creation_tokens
  cache_read_input_tokens
  cache_read_tokens
  cached_input_tokens
  input_tokens
  output_tokens
  reasoning_tokens
  total_tokens
].freeze

Class Method Summary collapse

Class Method Details

.tags(metadata) ⇒ Object



38
39
40
# File 'lib/llm_cost_tracker/event_metadata.rb', line 38

def tags()
  .reject { |key, _value| INTERNAL_TAG_KEYS.include?(key.to_s) }
end

.usage_data(input_tokens, output_tokens, metadata) ⇒ Object



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/llm_cost_tracker/event_metadata.rb', line 18

def usage_data(input_tokens, output_tokens, )
  cache_read_input_tokens = (, :cache_read_input_tokens, :cache_read_tokens)
  cache_creation_input_tokens = (
    ,
    :cache_creation_input_tokens,
    :cache_creation_tokens
  )
  cached_input_tokens = (, :cached_input_tokens)

  {
    input_tokens: input_tokens.to_i,
    output_tokens: output_tokens.to_i,
    cached_input_tokens: cached_input_tokens,
    cache_read_input_tokens: cache_read_input_tokens,
    cache_creation_input_tokens: cache_creation_input_tokens,
    total_tokens: input_tokens.to_i + output_tokens.to_i +
      cache_read_input_tokens + cache_creation_input_tokens
  }
end