feat: add credit_multiplier_for to fetch the model multiplier

This commit is contained in:
Shivam Mishra
2026-01-13 19:29:59 +05:30
parent 7fba7b946e
commit ab1cb7af86
2 changed files with 25 additions and 0 deletions
+4
View File
@@ -19,6 +19,10 @@ module Llm::Models
models_for(feature).include?(model_name.to_s)
end
def credit_multiplier_for(model_name)
CONFIG.dig('models', model_name.to_s, 'credit_multiplier') || 1
end
def feature_config(feature_key)
feature = features[feature_key.to_s]
return nil unless feature
+21
View File
@@ -0,0 +1,21 @@
# frozen_string_literal: true
require 'rails_helper'
RSpec.describe Llm::Models do
describe '.credit_multiplier_for' do
it 'returns the credit multiplier for a known model' do
expect(described_class.credit_multiplier_for('gpt-4.1')).to eq(3)
expect(described_class.credit_multiplier_for('gpt-4.1-mini')).to eq(1)
expect(described_class.credit_multiplier_for('gpt-5.1')).to eq(2)
end
it 'returns 1 for an unknown model' do
expect(described_class.credit_multiplier_for('unknown-model')).to eq(1)
end
it 'returns 1 for nil' do
expect(described_class.credit_multiplier_for(nil)).to eq(1)
end
end
end