feat: add credit_multiplier_for to fetch the model multiplier
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user