Class: Leann::Backend::Base
- Inherits:
-
Object
- Object
- Leann::Backend::Base
- Defined in:
- lib/leann/backend/base.rb
Overview
Base class for vector storage backends
Subclasses must implement:
-
#build(embeddings, ids, path) - build index from embeddings
-
#search(query_embedding, limit:) - search for nearest neighbors
-
.load(path) - load existing index
Instance Attribute Summary collapse
-
#dimensions ⇒ Integer
readonly
Embedding dimensions.
Class Method Summary collapse
-
.load(path) ⇒ Base
Load an existing index.
Instance Method Summary collapse
-
#build(embeddings, ids, path) ⇒ Object
Build an index from embeddings.
-
#initialize(dimensions:) ⇒ Base
constructor
A new instance of Base.
-
#search(query_embedding, limit:) ⇒ Array<Array(String, Float)>
Search for nearest neighbors.
Constructor Details
#initialize(dimensions:) ⇒ Base
Returns a new instance of Base.
17 18 19 |
# File 'lib/leann/backend/base.rb', line 17 def initialize(dimensions:) @dimensions = dimensions end |
Instance Attribute Details
#dimensions ⇒ Integer (readonly)
Returns Embedding dimensions.
14 15 16 |
# File 'lib/leann/backend/base.rb', line 14 def dimensions @dimensions end |
Class Method Details
.load(path) ⇒ Base
Load an existing index
46 47 48 |
# File 'lib/leann/backend/base.rb', line 46 def self.load(path) raise NotImplementedError, "Subclasses must implement .load" end |
Instance Method Details
#build(embeddings, ids, path) ⇒ Object
Build an index from embeddings
27 28 29 |
# File 'lib/leann/backend/base.rb', line 27 def build(, ids, path) raise NotImplementedError, "Subclasses must implement #build" end |
#search(query_embedding, limit:) ⇒ Array<Array(String, Float)>
Search for nearest neighbors
37 38 39 |
# File 'lib/leann/backend/base.rb', line 37 def search(, limit:) raise NotImplementedError, "Subclasses must implement #search" end |