Class: SwarmMemory::Embeddings::Embedder

Inherits:
Object
  • Object
show all
Defined in:
lib/swarm_memory/embeddings/embedder.rb

Overview

Abstract embedder interface

Subclasses implement different embedding providers (Informers, OpenAI API, etc.)

Direct Known Subclasses

InformersEmbedder

Instance Method Summary collapse

Instance Method Details

#dimensionsInteger

Get embedding dimensionality

Returns:

  • (Integer)

    Vector dimensions

Raises:

  • (NotImplementedError)


31
32
33
# File 'lib/swarm_memory/embeddings/embedder.rb', line 31

def dimensions
  raise NotImplementedError, "Subclass must implement #dimensions"
end

#embed(text) ⇒ Array<Float>

Generate embedding for single text

Parameters:

  • text (String)

    Text to embed

Returns:

  • (Array<Float>)

    Embedding vector

Raises:



15
16
17
# File 'lib/swarm_memory/embeddings/embedder.rb', line 15

def embed(text)
  raise NotImplementedError, "Subclass must implement #embed"
end

#embed_batch(texts) ⇒ Array<Array<Float>>

Generate embeddings for multiple texts (batched)

Parameters:

  • texts (Array<String>)

    Texts to embed

Returns:

  • (Array<Array<Float>>)

    Array of embedding vectors

Raises:



24
25
26
# File 'lib/swarm_memory/embeddings/embedder.rb', line 24

def embed_batch(texts)
  raise NotImplementedError, "Subclass must implement #embed_batch"
end