Dsxir.DemoStrategy.KNN (dsxir v0.2.0)

Copy Markdown

Per-call demo resolver: embed the inputs, cosine-search the index, return the top-K examples as demos for this call.

Held on %Dsxir.Program.State{demo_strategy: %KNN{}}. Compiled by Dsxir.Optimizer.KNNFewShot. Used by Dsxir.Module.Runtime.call/4.

Summary

Functions

Resolve K nearest demos for inputs. Emits [:dsxir, :knn, :resolve] on success; emits [:dsxir, :knn, :insufficient_entries] when fewer than k entries are available. Raises the underlying Dsxir.Errors.LM.* on embedder failure.

Strip credential keys from a config keyword list. Used at serialize time.

Types

t()

@type t() :: %Dsxir.DemoStrategy.KNN{
  embed_fields: :all | [atom()],
  embedder: {module(), keyword()},
  embedder_id: String.t(),
  entries: [Dsxir.DemoStrategy.KNN.Entry.t()],
  k: pos_integer()
}

Functions

resolve(strategy, inputs, opts \\ [])

@spec resolve(t(), map(), keyword()) :: [Dsxir.Example.t()]

Resolve K nearest demos for inputs. Emits [:dsxir, :knn, :resolve] on success; emits [:dsxir, :knn, :insufficient_entries] when fewer than k entries are available. Raises the underlying Dsxir.Errors.LM.* on embedder failure.

strip_credentials(config)

@spec strip_credentials(keyword()) :: keyword()

Strip credential keys from a config keyword list. Used at serialize time.