Module: LlmCostTracker::Pricing::EffectivePrices

Defined in:
lib/llm_cost_tracker/pricing/effective_prices.rb

Class Method Summary collapse

Class Method Details

.call(usage:, prices:, pricing_mode:) ⇒ Object



26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/llm_cost_tracker/pricing/effective_prices.rb', line 26

def call(usage:, prices:, pricing_mode:)
  EffectivePriceSet.new(
    input: price_for_usage(usage.input_tokens, prices, :input, pricing_mode),
    cache_read_input: price_for_cache_usage(
      usage.cache_read_input_tokens,
      prices,
      :cache_read_input,
      pricing_mode
    ),
    cache_write_input: price_for_cache_usage(
      usage.cache_write_input_tokens,
      prices,
      :cache_write_input,
      pricing_mode
    ),
    output: price_for_usage(usage.output_tokens, prices, :output, pricing_mode)
  )
end