Module: Woods::Embedding::Provider::Interface
- Included in:
- Cache::CachedEmbeddingProvider, Ollama, OpenAI, Resilience::RetryableProvider
- Defined in:
- lib/woods/embedding/provider.rb
Overview
Interface that all embedding providers must implement.
Defines the contract for embedding text into vector representations. Implementations must provide single-text embedding, batch embedding, dimension reporting, and model identification.
Instance Method Summary collapse
-
#dimensions ⇒ Integer
Return the dimensionality of the embedding vectors.
-
#embed(text) ⇒ Array<Float>
Embed a single text string into a vector.
-
#embed_batch(texts) ⇒ Array<Array<Float>>
Embed multiple texts into vectors in a single request.
-
#max_input_tokens ⇒ Integer?
Return the maximum input length the provider will accept for a single text, in tokens.
-
#model_name ⇒ String
Return the name of the embedding model.
Instance Method Details
#dimensions ⇒ Integer
Return the dimensionality of the embedding vectors.
41 42 43 |
# File 'lib/woods/embedding/provider.rb', line 41 def dimensions raise NotImplementedError end |
#embed(text) ⇒ Array<Float>
Embed a single text string into a vector.
24 25 26 |
# File 'lib/woods/embedding/provider.rb', line 24 def (text) raise NotImplementedError end |
#embed_batch(texts) ⇒ Array<Array<Float>>
Embed multiple texts into vectors in a single request.
33 34 35 |
# File 'lib/woods/embedding/provider.rb', line 33 def (texts) raise NotImplementedError end |
#max_input_tokens ⇒ Integer?
Return the maximum input length the provider will accept for a single text, in tokens. Used by the indexer to decide when a unit must be chunked before embedding.
59 60 61 |
# File 'lib/woods/embedding/provider.rb', line 59 def max_input_tokens raise NotImplementedError end |
#model_name ⇒ String
Return the name of the embedding model.
49 50 51 |
# File 'lib/woods/embedding/provider.rb', line 49 def model_name raise NotImplementedError end |