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.



208
209
210
211
212
213
# File 'lib/raif/model_manifest/dsl.rb', line 208

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

#finishObject



227
228
229
230
231
232
233
234
# File 'lib/raif/model_manifest/dsl.rb', line 227

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



215
216
217
218
219
220
221
222
223
224
225
# File 'lib/raif/model_manifest/dsl.rb', line 215

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