Class: Kotoshu::Embeddings::Registry
- Inherits:
-
Object
- Object
- Kotoshu::Embeddings::Registry
- Defined in:
- lib/kotoshu/embeddings/registry.rb
Class Attribute Summary collapse
-
.engines ⇒ Hash{Symbol => Class}
readonly
Registered engines.
-
.models ⇒ Hash{Symbol => Class}
readonly
Registered models.
-
.vocabularies ⇒ Hash{Symbol => Class}
readonly
Registered vocabularies.
Class Method Summary collapse
-
.create_engine(name, **kwargs) ⇒ SimilarityEngine
Create an engine instance.
-
.create_model(name, **kwargs) ⇒ EmbeddingModel
Create a model instance.
-
.create_vocabulary(name, **kwargs) ⇒ Vocabulary
Create a vocabulary instance.
-
.engine(name) ⇒ Class?
Get registered engine class.
-
.engine_names ⇒ Array<Symbol>
List all registered engines.
-
.init ⇒ Object
Initialize registry.
-
.model(name) ⇒ Class?
Get registered model class.
-
.model_names ⇒ Array<Symbol>
List all registered models.
-
.register_engine(name, klass) ⇒ Object
Register a similarity engine.
-
.register_model(name, klass) ⇒ Object
Register an embedding model.
-
.register_vocabulary(name, klass) ⇒ Object
Register a vocabulary.
-
.reset! ⇒ Object
Clear all registrations.
-
.vocabulary(name) ⇒ Class?
Get registered vocabulary class.
-
.vocabulary_names ⇒ Array<Symbol>
List all registered vocabularies.
Class Attribute Details
.engines ⇒ Hash{Symbol => Class} (readonly)
Returns Registered engines.
25 26 27 |
# File 'lib/kotoshu/embeddings/registry.rb', line 25 def engines @engines end |
.models ⇒ Hash{Symbol => Class} (readonly)
Returns Registered models.
22 23 24 |
# File 'lib/kotoshu/embeddings/registry.rb', line 22 def models @models end |
.vocabularies ⇒ Hash{Symbol => Class} (readonly)
Returns Registered vocabularies.
28 29 30 |
# File 'lib/kotoshu/embeddings/registry.rb', line 28 def vocabularies @vocabularies end |
Class Method Details
.create_engine(name, **kwargs) ⇒ SimilarityEngine
Create an engine instance
120 121 122 123 124 125 |
# File 'lib/kotoshu/embeddings/registry.rb', line 120 def create_engine(name, **kwargs) klass = engine(name) raise ArgumentError, "Unknown engine: #{name}" unless klass klass.new(**kwargs) end |
.create_model(name, **kwargs) ⇒ EmbeddingModel
Create a model instance
107 108 109 110 111 112 |
# File 'lib/kotoshu/embeddings/registry.rb', line 107 def create_model(name, **kwargs) klass = model(name) raise ArgumentError, "Unknown model: #{name}" unless klass klass.new(**kwargs) end |
.create_vocabulary(name, **kwargs) ⇒ Vocabulary
Create a vocabulary instance
133 134 135 136 137 138 |
# File 'lib/kotoshu/embeddings/registry.rb', line 133 def create_vocabulary(name, **kwargs) klass = vocabulary(name) raise ArgumentError, "Unknown vocabulary: #{name}" unless klass klass.new(**kwargs) end |
.engine(name) ⇒ Class?
Get registered engine class
86 87 88 89 |
# File 'lib/kotoshu/embeddings/registry.rb', line 86 def engine(name) init @engines[name] end |
.engine_names ⇒ Array<Symbol>
List all registered engines
153 154 155 156 |
# File 'lib/kotoshu/embeddings/registry.rb', line 153 def engine_names init @engines.keys end |
.init ⇒ Object
Initialize registry
32 33 34 35 36 |
# File 'lib/kotoshu/embeddings/registry.rb', line 32 def init @models ||= {} @engines ||= {} @vocabularies ||= {} end |
.model(name) ⇒ Class?
Get registered model class
76 77 78 79 |
# File 'lib/kotoshu/embeddings/registry.rb', line 76 def model(name) init @models[name] end |
.model_names ⇒ Array<Symbol>
List all registered models
144 145 146 147 |
# File 'lib/kotoshu/embeddings/registry.rb', line 144 def model_names init @models.keys end |
.register_engine(name, klass) ⇒ Object
Register a similarity engine
54 55 56 57 58 |
# File 'lib/kotoshu/embeddings/registry.rb', line 54 def register_engine(name, klass) init @engines[name] = klass klass end |
.register_model(name, klass) ⇒ Object
Register an embedding model
43 44 45 46 47 |
# File 'lib/kotoshu/embeddings/registry.rb', line 43 def register_model(name, klass) init @models[name] = klass klass end |
.register_vocabulary(name, klass) ⇒ Object
Register a vocabulary
65 66 67 68 69 |
# File 'lib/kotoshu/embeddings/registry.rb', line 65 def register_vocabulary(name, klass) init @vocabularies[name] = klass klass end |
.reset! ⇒ Object
Clear all registrations
169 170 171 172 173 |
# File 'lib/kotoshu/embeddings/registry.rb', line 169 def reset! @models = {} @engines = {} @vocabularies = {} end |
.vocabulary(name) ⇒ Class?
Get registered vocabulary class
96 97 98 99 |
# File 'lib/kotoshu/embeddings/registry.rb', line 96 def vocabulary(name) init @vocabularies[name] end |
.vocabulary_names ⇒ Array<Symbol>
List all registered vocabularies
162 163 164 165 |
# File 'lib/kotoshu/embeddings/registry.rb', line 162 def vocabulary_names init @vocabularies.keys end |