Nous.Memory.Store behaviour (nous v0.13.3)
View SourceStorage behaviour for memory backends.
All search/list callbacks accept a :scope option (map of scoping fields to filter by).
Summary
Callbacks
@callback fetch(state :: term(), id :: String.t()) :: {:ok, Nous.Memory.Entry.t()} | {:error, :not_found}
@callback list(state :: term(), opts :: keyword()) :: {:ok, [Nous.Memory.Entry.t()]}
@callback search_text(state :: term(), query :: String.t(), opts :: keyword()) :: {:ok, [{Nous.Memory.Entry.t(), float()}]}
@callback search_vector(state :: term(), embedding :: [float()], opts :: keyword()) :: {:ok, [{Nous.Memory.Entry.t(), float()}]}
@callback store(state :: term(), entry :: Nous.Memory.Entry.t()) :: {:ok, term()} | {:error, term()}