Module: LlmCostTracker::Pricing::Matcher
- Defined in:
- lib/llm_cost_tracker/pricing/matcher.rb
Defined Under Namespace
Classes: Match
Class Method Summary collapse
Class Method Details
.lookup(provider:, model:) ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/llm_cost_tracker/pricing/matcher.rb', line 16 def lookup(provider:, model:) provider_name = provider.to_s.presence model_name = model.to_s return nil if model_name.empty? sources = Registry.sources reset_cache(sources) unless @cache_sources.equal?(sources) key = [provider_name, model_name].freeze return @cache[key] if @cache.key?(key) @cache.clear if @cache.size >= CACHE_LIMIT @cache[key] = lookup_match(sources, provider_name, model_name) end |
.modifier_priced?(provider:, model:, modifier:) ⇒ Boolean
30 31 32 33 34 35 |
# File 'lib/llm_cost_tracker/pricing/matcher.rb', line 30 def modifier_priced?(provider:, model:, modifier:) prices = lookup(provider: provider, model: model)&.prices return false unless prices prices.any? { |key, _| key.to_s.include?(modifier) } end |