Class: Cadenya::Models::ModelSpec

Inherits:
Internal::Type::BaseModel show all
Defined in:
lib/cadenya/models/model_spec.rb,
sig/cadenya/models/model_spec.rbs

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from Internal::Type::BaseModel

==, #==, #[], coerce, #deconstruct_keys, #deep_to_h, dump, fields, hash, #hash, inherited, inspect, #inspect, known_fields, optional, recursively_to_h, required, #to_h, #to_json, #to_s, to_sorbet_type, #to_yaml

Methods included from Internal::Type::Converter

#coerce, coerce, #dump, dump, #inspect, inspect, meta_info, new_coerce_state, type_info

Methods included from Internal::Util::SorbetRuntimeSupport

#const_missing, #define_sorbet_constant!, #sorbet_constant_defined?, #to_sorbet_type, to_sorbet_type

Constructor Details

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

Some parameter documentations has been truncated, see Cadenya::Models::ModelSpec for more details.

Parameters:



# File 'lib/cadenya/models/model_spec.rb', line 50

Instance Attribute Details

#capabilitiesArray<Cadenya::Models::ModelSpecCapabilityTemperature, Cadenya::Models::ModelSpecCapabilityTopP, Cadenya::Models::ModelSpecCapabilityTopK, Cadenya::Models::ModelSpecCapabilityStopSequences, Cadenya::Models::ModelSpecCapabilityMaxOutputTokens, Cadenya::Models::ModelSpecCapabilityReasoning>?

The inference knobs this model supports. Catalog data; drives which ModelConfig fields a variation on this model may set. Reasoning support (and its mode) lives here too, as the "reasoning" capability.



24
# File 'lib/cadenya/models/model_spec.rb', line 24

optional :capabilities, -> { Cadenya::Internal::Type::ArrayOf[union: Cadenya::ModelSpecCapability] }

#familyString

The model family (e.g., "claude-sonnet-4.6", "gpt-5.4", "gemini-2.5-flash")

Parameters:

  • value (String)

Returns:

  • (String)


10
# File 'lib/cadenya/models/model_spec.rb', line 10

required :family, String

#input_price_per_million_tokensString?

Cost per million input tokens in cents (e.g., 300 = $3.00)

Parameters:

  • (String)

Returns:

  • (String, nil)


30
# File 'lib/cadenya/models/model_spec.rb', line 30

optional :input_price_per_million_tokens, String, api_name: :inputPricePerMillionTokens

#max_input_tokensInteger?

Maximum number of input tokens the model supports

Parameters:

  • (Integer)

Returns:

  • (Integer, nil)


36
# File 'lib/cadenya/models/model_spec.rb', line 36

optional :max_input_tokens, Integer, api_name: :maxInputTokens

#max_output_tokensInteger?

Maximum number of output tokens the model can generate

Parameters:

  • (Integer)

Returns:

  • (Integer, nil)


42
# File 'lib/cadenya/models/model_spec.rb', line 42

optional :max_output_tokens, Integer, api_name: :maxOutputTokens

#output_price_per_million_tokensString?

Cost per million output tokens in cents (e.g., 1500 = $15.00)

Parameters:

  • (String)

Returns:

  • (String, nil)


48
# File 'lib/cadenya/models/model_spec.rb', line 48

optional :output_price_per_million_tokens, String, api_name: :outputPricePerMillionTokens

#providerString

The model provider (e.g., "anthropic", "openai", "google")

Parameters:

  • value (String)

Returns:

  • (String)


16
# File 'lib/cadenya/models/model_spec.rb', line 16

required :provider, String

Instance Method Details

#to_hash{

Returns:

  • ({)


51
# File 'sig/cadenya/models/model_spec.rbs', line 51

def to_hash: -> {