Class: Legion::Extensions::Llm::Inventory::LaneRecord
- Inherits:
-
Data
- Object
- Data
- Legion::Extensions::Llm::Inventory::LaneRecord
- Defined in:
- lib/legion/extensions/llm/inventory/records.rb
Overview
An executable lane derived by the registry from one supported operation of an OfferingRecord. See section 10.3.
Instance Attribute Summary collapse
-
#callable_handle ⇒ Object
readonly
Returns the value of attribute callable_handle.
-
#capability_evidence ⇒ Object
readonly
Returns the value of attribute capability_evidence.
-
#context_evidence ⇒ Object
readonly
Returns the value of attribute context_evidence.
-
#embedding_dimensions_evidence ⇒ Object
readonly
Returns the value of attribute embedding_dimensions_evidence.
-
#instance_id ⇒ Object
readonly
Returns the value of attribute instance_id.
-
#instance_key ⇒ Object
readonly
Returns the value of attribute instance_key.
-
#lane_id ⇒ Object
readonly
Returns the value of attribute lane_id.
-
#max_output_evidence ⇒ Object
readonly
Returns the value of attribute max_output_evidence.
-
#metadata ⇒ Object
readonly
Returns the value of attribute metadata.
-
#model ⇒ Object
readonly
Returns the value of attribute model.
-
#model_revision_evidence ⇒ Object
readonly
Returns the value of attribute model_revision_evidence.
-
#offering_id ⇒ Object
readonly
Returns the value of attribute offering_id.
-
#operation ⇒ Object
readonly
Returns the value of attribute operation.
-
#provider_family ⇒ Object
readonly
Returns the value of attribute provider_family.
-
#publication_source ⇒ Object
readonly
Returns the value of attribute publication_source.
-
#quota_domain ⇒ Object
readonly
Returns the value of attribute quota_domain.
-
#tier ⇒ Object
readonly
Returns the value of attribute tier.
-
#tokenizer_evidence ⇒ Object
readonly
Returns the value of attribute tokenizer_evidence.
Instance Method Summary collapse
-
#initialize(**kwargs) ⇒ LaneRecord
constructor
A new instance of LaneRecord.
Constructor Details
#initialize(**kwargs) ⇒ LaneRecord
Returns a new instance of LaneRecord.
345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 |
# File 'lib/legion/extensions/llm/inventory/records.rb', line 345 def initialize(**kwargs) RecordSupport.check_unknown_kwargs!(kwargs: kwargs, members: self.class.members) instance_key = kwargs[:instance_key] callable_handle = kwargs[:callable_handle] raise Errors::ValidationError, 'instance_key must be an InstanceKey' unless instance_key.is_a?(Identity::InstanceKey) raise Errors::ValidationError, 'callable_handle must be a CallableHandle' unless callable_handle.is_a?(CallableHandle) family = RecordSupport.normalize_provider_family(value: kwargs[:provider_family]) resolved_instance = Identity.normalize_text(value: kwargs[:instance_id], field: :instance_id) unless family == instance_key.provider_family && resolved_instance == instance_key.instance_id raise Errors::ValidationError, 'provider_family and instance_id must equal instance_key' end canonical_model = Identity.normalize_text(value: kwargs[:model], field: :model) canonical_operation = Taxonomies.normalize_operation(value: kwargs[:operation], allow_aliases: false) Identity.validate_lane_id!( value: kwargs[:lane_id], instance_key: instance_key, operation: canonical_operation, model: canonical_model, offering_id: kwargs[:offering_id] ) super( lane_id: kwargs[:lane_id].dup.freeze, offering_id: kwargs[:offering_id].dup.freeze, instance_key: instance_key, provider_family: family, instance_id: resolved_instance, model: canonical_model, tier: Identity.normalize_enum(value: kwargs[:tier], field: :tier, allowed: Taxonomies::TIERS), operation: canonical_operation, capability_evidence: RecordSupport.validate_capability_evidence!(kwargs[:capability_evidence]), quota_domain: kwargs[:quota_domain].nil? ? nil : RecordSupport.validate_quota_domain_value!(value: kwargs[:quota_domain], field: :quota_domain), metadata: RecordSupport.(value: kwargs[:metadata]), callable_handle: callable_handle, publication_source: RecordSupport.publication_source!(value: kwargs[:publication_source]), **RecordSupport.scalar_value_evidences(kwargs) ) end |
Instance Attribute Details
#callable_handle ⇒ Object (readonly)
Returns the value of attribute callable_handle
339 340 341 |
# File 'lib/legion/extensions/llm/inventory/records.rb', line 339 def callable_handle @callable_handle end |
#capability_evidence ⇒ Object (readonly)
Returns the value of attribute capability_evidence
339 340 341 |
# File 'lib/legion/extensions/llm/inventory/records.rb', line 339 def capability_evidence @capability_evidence end |
#context_evidence ⇒ Object (readonly)
Returns the value of attribute context_evidence
339 340 341 |
# File 'lib/legion/extensions/llm/inventory/records.rb', line 339 def context_evidence @context_evidence end |
#embedding_dimensions_evidence ⇒ Object (readonly)
Returns the value of attribute embedding_dimensions_evidence
339 340 341 |
# File 'lib/legion/extensions/llm/inventory/records.rb', line 339 def @embedding_dimensions_evidence end |
#instance_id ⇒ Object (readonly)
Returns the value of attribute instance_id
339 340 341 |
# File 'lib/legion/extensions/llm/inventory/records.rb', line 339 def instance_id @instance_id end |
#instance_key ⇒ Object (readonly)
Returns the value of attribute instance_key
339 340 341 |
# File 'lib/legion/extensions/llm/inventory/records.rb', line 339 def instance_key @instance_key end |
#lane_id ⇒ Object (readonly)
Returns the value of attribute lane_id
339 340 341 |
# File 'lib/legion/extensions/llm/inventory/records.rb', line 339 def lane_id @lane_id end |
#max_output_evidence ⇒ Object (readonly)
Returns the value of attribute max_output_evidence
339 340 341 |
# File 'lib/legion/extensions/llm/inventory/records.rb', line 339 def max_output_evidence @max_output_evidence end |
#metadata ⇒ Object (readonly)
Returns the value of attribute metadata
339 340 341 |
# File 'lib/legion/extensions/llm/inventory/records.rb', line 339 def @metadata end |
#model ⇒ Object (readonly)
Returns the value of attribute model
339 340 341 |
# File 'lib/legion/extensions/llm/inventory/records.rb', line 339 def model @model end |
#model_revision_evidence ⇒ Object (readonly)
Returns the value of attribute model_revision_evidence
339 340 341 |
# File 'lib/legion/extensions/llm/inventory/records.rb', line 339 def model_revision_evidence @model_revision_evidence end |
#offering_id ⇒ Object (readonly)
Returns the value of attribute offering_id
339 340 341 |
# File 'lib/legion/extensions/llm/inventory/records.rb', line 339 def offering_id @offering_id end |
#operation ⇒ Object (readonly)
Returns the value of attribute operation
339 340 341 |
# File 'lib/legion/extensions/llm/inventory/records.rb', line 339 def operation @operation end |
#provider_family ⇒ Object (readonly)
Returns the value of attribute provider_family
339 340 341 |
# File 'lib/legion/extensions/llm/inventory/records.rb', line 339 def provider_family @provider_family end |
#publication_source ⇒ Object (readonly)
Returns the value of attribute publication_source
339 340 341 |
# File 'lib/legion/extensions/llm/inventory/records.rb', line 339 def publication_source @publication_source end |
#quota_domain ⇒ Object (readonly)
Returns the value of attribute quota_domain
339 340 341 |
# File 'lib/legion/extensions/llm/inventory/records.rb', line 339 def quota_domain @quota_domain end |
#tier ⇒ Object (readonly)
Returns the value of attribute tier
339 340 341 |
# File 'lib/legion/extensions/llm/inventory/records.rb', line 339 def tier @tier end |
#tokenizer_evidence ⇒ Object (readonly)
Returns the value of attribute tokenizer_evidence
339 340 341 |
# File 'lib/legion/extensions/llm/inventory/records.rb', line 339 def tokenizer_evidence @tokenizer_evidence end |