Skip to main content

lib/agent_sea/embedder.ex

defmodule AgentSea.Embedder do
  @moduledoc """
  Turns text into vectors. Adapters: the dependency-free
  `AgentSea.Embedder.Hashing` (good for tests/dev) and, in future, Bumblebee/Nx
  (in-process HF/ONNX models) or remote embedding providers.
  """

  @callback embed(texts :: [String.t()], opts :: keyword()) ::
              {:ok, [[float()]]} | {:error, term()}

  @callback dimensions() :: pos_integer()
end