Class: Raif::ModelManifest::Dsl::EmbeddingProviderBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/raif/model_manifest/dsl.rb

Instance Method Summary collapse

Constructor Details

#initialize(name:, adapter_class_name:, source_path:) ⇒ EmbeddingProviderBuilder

Returns a new instance of EmbeddingProviderBuilder.



232
233
234
235
236
237
# File 'lib/raif/model_manifest/dsl.rb', line 232

def initialize(name:, adapter_class_name:, source_path:)
  @name = name.to_sym
  @adapter_class_name = adapter_class_name
  @source_path = source_path
  @models = []
end

Instance Method Details

#finish ⇒ Object



251
252
253
254
255
256
257
258
# File 'lib/raif/model_manifest/dsl.rb', line 251

def finish
  EmbeddingProviderDeclaration.new(
    name: @name,
    adapter_class_name: @adapter_class_name,
    models: @models.freeze,
    source_path: @source_path
  ).freeze
end

#model(key:, api_name:, display_name:, input_per_million:, default_output_vector_size:, lifecycle:) ⇒ Object



239
240
241
242
243
244
245
246
247
248
249
# File 'lib/raif/model_manifest/dsl.rb', line 239

def model(key:, api_name:, display_name:, input_per_million:, default_output_vector_size:, lifecycle:)
  @models << EmbeddingModelDeclaration.new(
    key: key.to_sym,
    api_name: api_name,
    display_name: display_name,
    input_per_million: input_per_million,
    default_output_vector_size: default_output_vector_size,
    lifecycle: Dsl.normalize_lifecycle(lifecycle),
    source_path: @source_path
  ).freeze
end