AI.Embeddings (fnord v0.9.24)

View Source

Embedding generation via a local sentence transformer model.

Delegates to AI.Embeddings.Pool, which manages a long-lived embed.exs process running all-MiniLM-L12-v2 (384-dimensional vectors, mean pooling).

Summary

Functions

Returns the expected embedding vector dimensionality.

Generates an embedding vector for the given text input. Returns {:ok, [float()]} with a 384-dimensional vector.

Returns the embedding model name.

Types

embedding()

@type embedding() :: [float()]

error()

@type error() ::
  {:error, :pool_not_running}
  | {:error, :port_not_connected}
  | {:error, :port_died}
  | {:error, :timeout}
  | {:error, String.t()}

Functions

dimensions()

@spec dimensions() :: pos_integer()

Returns the expected embedding vector dimensionality.

get(input)

@spec get(String.t()) :: {:ok, embedding()} | error()

Generates an embedding vector for the given text input. Returns {:ok, [float()]} with a 384-dimensional vector.

model_name()

@spec model_name() :: String.t()

Returns the embedding model name.