Dsxir.Retrieval.Embedder (dsxir v0.1.0)

Copy Markdown

Batched wrapper around Dsxir.LM.embed/2.

embedder = %Dsxir.Retrieval.Embedder{batch_size: 256}
{:ok, vectors, usage} = Dsxir.Retrieval.Embedder.embed(embedder, ["a", "b", ...])

Inputs larger than :batch_size are chunked; results are concatenated in input order. Errors short-circuit and surface the first failure.

Summary

Functions

Embed inputs in chunks of batch_size. Returns the concatenated vectors and merged usage on success, or short-circuits on the first batch error.

Types

t()

@type t() :: %Dsxir.Retrieval.Embedder{batch_size: pos_integer()}

Functions

embed(embedder, inputs, opts \\ [])

@spec embed(t(), [String.t()], keyword()) ::
  {:ok, [[float()]], Dsxir.LM.usage()} | {:error, term()}

Embed inputs in chunks of batch_size. Returns the concatenated vectors and merged usage on success, or short-circuits on the first batch error.