Module: LlmCostTracker::Pricing::Explainer

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

Class Method Summary collapse

Class Method Details

.call(provider:, model:, input_tokens: 1, output_tokens: 1, cache_read_input_tokens: 0, cache_write_input_tokens: 0, pricing_mode: nil) ⇒ Object



32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/llm_cost_tracker/pricing/explainer.rb', line 32

def call(provider:, model:, input_tokens: 1, output_tokens: 1, cache_read_input_tokens: 0,
         cache_write_input_tokens: 0, pricing_mode: nil)
  match = Lookup.call(provider: provider, model: model)
  usage = match && UsageBreakdown.build(
    input_tokens: input_tokens,
    output_tokens: output_tokens,
    cache_read_input_tokens: cache_read_input_tokens,
    cache_write_input_tokens: cache_write_input_tokens
  )

  explanation(provider, model, pricing_mode, match, usage)
end