Class: Legion::Extensions::Llm::Inventory::LaneRecord

Inherits:
Data
  • Object
show all
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

Instance Method Summary collapse

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_handleObject (readonly)

Returns the value of attribute callable_handle

Returns:

  • (Object)

    the current value of callable_handle



339
340
341
# File 'lib/legion/extensions/llm/inventory/records.rb', line 339

def callable_handle
  @callable_handle
end

#capability_evidenceObject (readonly)

Returns the value of attribute capability_evidence

Returns:

  • (Object)

    the current value of capability_evidence



339
340
341
# File 'lib/legion/extensions/llm/inventory/records.rb', line 339

def capability_evidence
  @capability_evidence
end

#context_evidenceObject (readonly)

Returns the value of attribute context_evidence

Returns:

  • (Object)

    the current value of context_evidence



339
340
341
# File 'lib/legion/extensions/llm/inventory/records.rb', line 339

def context_evidence
  @context_evidence
end

#embedding_dimensions_evidenceObject (readonly)

Returns the value of attribute embedding_dimensions_evidence

Returns:

  • (Object)

    the current value of embedding_dimensions_evidence



339
340
341
# File 'lib/legion/extensions/llm/inventory/records.rb', line 339

def embedding_dimensions_evidence
  @embedding_dimensions_evidence
end

#instance_idObject (readonly)

Returns the value of attribute instance_id

Returns:

  • (Object)

    the current value of instance_id



339
340
341
# File 'lib/legion/extensions/llm/inventory/records.rb', line 339

def instance_id
  @instance_id
end

#instance_keyObject (readonly)

Returns the value of attribute instance_key

Returns:

  • (Object)

    the current value of instance_key



339
340
341
# File 'lib/legion/extensions/llm/inventory/records.rb', line 339

def instance_key
  @instance_key
end

#lane_idObject (readonly)

Returns the value of attribute lane_id

Returns:

  • (Object)

    the current value of lane_id



339
340
341
# File 'lib/legion/extensions/llm/inventory/records.rb', line 339

def lane_id
  @lane_id
end

#max_output_evidenceObject (readonly)

Returns the value of attribute max_output_evidence

Returns:

  • (Object)

    the current value of max_output_evidence



339
340
341
# File 'lib/legion/extensions/llm/inventory/records.rb', line 339

def max_output_evidence
  @max_output_evidence
end

#metadataObject (readonly)

Returns the value of attribute metadata

Returns:

  • (Object)

    the current value of metadata



339
340
341
# File 'lib/legion/extensions/llm/inventory/records.rb', line 339

def 
  @metadata
end

#modelObject (readonly)

Returns the value of attribute model

Returns:

  • (Object)

    the current value of model



339
340
341
# File 'lib/legion/extensions/llm/inventory/records.rb', line 339

def model
  @model
end

#model_revision_evidenceObject (readonly)

Returns the value of attribute model_revision_evidence

Returns:

  • (Object)

    the current value of 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_idObject (readonly)

Returns the value of attribute offering_id

Returns:

  • (Object)

    the current value of offering_id



339
340
341
# File 'lib/legion/extensions/llm/inventory/records.rb', line 339

def offering_id
  @offering_id
end

#operationObject (readonly)

Returns the value of attribute operation

Returns:

  • (Object)

    the current value of operation



339
340
341
# File 'lib/legion/extensions/llm/inventory/records.rb', line 339

def operation
  @operation
end

#provider_familyObject (readonly)

Returns the value of attribute provider_family

Returns:

  • (Object)

    the current value of provider_family



339
340
341
# File 'lib/legion/extensions/llm/inventory/records.rb', line 339

def provider_family
  @provider_family
end

#publication_sourceObject (readonly)

Returns the value of attribute publication_source

Returns:

  • (Object)

    the current value of publication_source



339
340
341
# File 'lib/legion/extensions/llm/inventory/records.rb', line 339

def publication_source
  @publication_source
end

#quota_domainObject (readonly)

Returns the value of attribute quota_domain

Returns:

  • (Object)

    the current value of quota_domain



339
340
341
# File 'lib/legion/extensions/llm/inventory/records.rb', line 339

def quota_domain
  @quota_domain
end

#tierObject (readonly)

Returns the value of attribute tier

Returns:

  • (Object)

    the current value of tier



339
340
341
# File 'lib/legion/extensions/llm/inventory/records.rb', line 339

def tier
  @tier
end

#tokenizer_evidenceObject (readonly)

Returns the value of attribute tokenizer_evidence

Returns:

  • (Object)

    the current value of tokenizer_evidence



339
340
341
# File 'lib/legion/extensions/llm/inventory/records.rb', line 339

def tokenizer_evidence
  @tokenizer_evidence
end