Class: Cadenya::Types::ModelSpec

Inherits:
Object
  • Object
show all
Defined in:
lib/cadenya/types.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(provider: nil, family: nil, max_input_tokens: nil, max_output_tokens: nil, input_price_per_million_tokens: nil, output_price_per_million_tokens: nil, capabilities: nil) ⇒ ModelSpec

Returns a new instance of ModelSpec.



3394
3395
3396
3397
3398
3399
3400
3401
3402
# File 'lib/cadenya/types.rb', line 3394

def initialize(provider: nil, family: nil, max_input_tokens: nil, max_output_tokens: nil, input_price_per_million_tokens: nil, output_price_per_million_tokens: nil, capabilities: nil)
  @provider = provider
  @family = family
  @max_input_tokens = max_input_tokens
  @max_output_tokens = max_output_tokens
  @input_price_per_million_tokens = input_price_per_million_tokens
  @output_price_per_million_tokens = output_price_per_million_tokens
  @capabilities = capabilities
end

Instance Attribute Details

#capabilitiesObject (readonly)

Returns the value of attribute capabilities.



3392
3393
3394
# File 'lib/cadenya/types.rb', line 3392

def capabilities
  @capabilities
end

#familyObject (readonly)

Returns the value of attribute family.



3392
3393
3394
# File 'lib/cadenya/types.rb', line 3392

def family
  @family
end

#input_price_per_million_tokensObject (readonly)

Returns the value of attribute input_price_per_million_tokens.



3392
3393
3394
# File 'lib/cadenya/types.rb', line 3392

def input_price_per_million_tokens
  @input_price_per_million_tokens
end

#max_input_tokensObject (readonly)

Returns the value of attribute max_input_tokens.



3392
3393
3394
# File 'lib/cadenya/types.rb', line 3392

def max_input_tokens
  @max_input_tokens
end

#max_output_tokensObject (readonly)

Returns the value of attribute max_output_tokens.



3392
3393
3394
# File 'lib/cadenya/types.rb', line 3392

def max_output_tokens
  @max_output_tokens
end

#output_price_per_million_tokensObject (readonly)

Returns the value of attribute output_price_per_million_tokens.



3392
3393
3394
# File 'lib/cadenya/types.rb', line 3392

def output_price_per_million_tokens
  @output_price_per_million_tokens
end

#providerObject (readonly)

Returns the value of attribute provider.



3392
3393
3394
# File 'lib/cadenya/types.rb', line 3392

def provider
  @provider
end

Class Method Details

.from_json(data) ⇒ Object



3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
# File 'lib/cadenya/types.rb', line 3404

def self.from_json(data)
  new(
    provider: data["provider"],
    family: data["family"],
    max_input_tokens: data["maxInputTokens"],
    max_output_tokens: data["maxOutputTokens"],
    input_price_per_million_tokens: data["inputPricePerMillionTokens"],
    output_price_per_million_tokens: data["outputPricePerMillionTokens"],
    capabilities: data["capabilities"].nil? ? nil : (data["capabilities"]).map { |item| Types.decode_ModelSpec_Capability(item) },
  )
end

Instance Method Details

#to_hObject



3416
3417
3418
3419
3420
3421
3422
3423
3424
3425
3426
# File 'lib/cadenya/types.rb', line 3416

def to_h
  {
    provider: Util.plain(@provider),
    family: Util.plain(@family),
    max_input_tokens: Util.plain(@max_input_tokens),
    max_output_tokens: Util.plain(@max_output_tokens),
    input_price_per_million_tokens: Util.plain(@input_price_per_million_tokens),
    output_price_per_million_tokens: Util.plain(@output_price_per_million_tokens),
    capabilities: Util.plain(@capabilities),
  }.reject { |_k, v| v.nil? }
end