Module: Kreuzberg::EmbeddingModelType

Extended by:
T::Helpers, T::Sig
Included in:
EmbeddingModelTypeCustom, EmbeddingModelTypeLlm, EmbeddingModelTypePlugin, EmbeddingModelTypePreset
Defined in:
lib/kreuzberg/native.rb

Overview

Embedding model types supported by Kreuzberg.

Class Method Summary collapse

Class Method Details

.from_hash(hash) ⇒ Object



196
197
198
199
200
201
202
203
204
205
# File 'lib/kreuzberg/native.rb', line 196

def self.from_hash(hash)
  discriminator = hash[:type] || hash["type"]
  case discriminator
  when "preset" then EmbeddingModelTypePreset.from_hash(hash)
  when "custom" then EmbeddingModelTypeCustom.from_hash(hash)
  when "llm" then EmbeddingModelTypeLlm.from_hash(hash)
  when "plugin" then EmbeddingModelTypePlugin.from_hash(hash)
  else raise "Unknown discriminator: #{discriminator}"
  end
end