Module: LlmCostTracker::Pricing
- Defined in:
- lib/llm_cost_tracker.rb,
lib/llm_cost_tracker/pricing.rb,
lib/llm_cost_tracker/pricing/mode.rb,
lib/llm_cost_tracker/pricing/rate.rb,
lib/llm_cost_tracker/pricing/sync.rb,
lib/llm_cost_tracker/pricing/source.rb,
lib/llm_cost_tracker/pricing/matcher.rb,
lib/llm_cost_tracker/pricing/unknown.rb,
lib/llm_cost_tracker/pricing/backfill.rb,
lib/llm_cost_tracker/pricing/registry.rb,
lib/llm_cost_tracker/pricing/estimator.rb,
lib/llm_cost_tracker/pricing/price_key.rb,
lib/llm_cost_tracker/pricing/calculation.rb,
lib/llm_cost_tracker/pricing/sync/fetcher.rb,
lib/llm_cost_tracker/pricing/service_rates.rb,
lib/llm_cost_tracker/pricing/effective_prices.rb,
lib/llm_cost_tracker/pricing/sync/registry_diff.rb,
lib/llm_cost_tracker/pricing/sync/change_printer.rb,
lib/llm_cost_tracker/pricing/sync/registry_writer.rb
Defined Under Namespace
Modules: Backfill, EffectivePrices, Estimator, Matcher, Mode, PriceKey, Registry, ServiceRates, Sync, Unknown Classes: Calculation, Rate, Source
Constant Summary collapse
- RATE_BASIS_QUANTITIES =
{ "per_million_tokens" => 1_000_000, "per_million_characters" => 1_000_000, "per_request" => 1, "per_1k_requests" => 1_000, "per_session" => 1, "per_hour" => 1, "per_minute" => 1, "per_image" => 1 }.freeze
Class Method Summary collapse
Class Method Details
.cost_for(provider:, model:, tokens:, pricing_mode: nil) ⇒ Object
23 24 25 |
# File 'lib/llm_cost_tracker/pricing.rb', line 23 def cost_for(provider:, model:, tokens:, pricing_mode: nil) Calculation.for(provider: provider, model: model, tokens: tokens, pricing_mode: pricing_mode).token_cost end |