Current section

Files

Jump to
dspex lib snakebridge_generated dspy gepa.ex
Raw

lib/snakebridge_generated/dspy/gepa.ex

# Generated by SnakeBridge v0.12.0 - DO NOT EDIT MANUALLY
# Regenerate with: mix compile
# Library: dspy 3.1.2
# Python module: dspy
# Python class: GEPA
defmodule Dspy.GEPA do
def __snakebridge_python_name__, do: "dspy"
def __snakebridge_python_class__, do: "GEPA"
def __snakebridge_library__, do: "dspy"
@opaque t :: SnakeBridge.Ref.t()
@spec new(Dspy.Teleprompt.Gepa.Gepa.GEPAFeedbackMetric.t(), keyword()) ::
{:ok, SnakeBridge.Ref.t()} | {:error, Snakepit.Error.t()}
def new(metric, opts \\ []) do
SnakeBridge.Runtime.call_class(__MODULE__, :__init__, [metric], opts)
end
@spec _build_seed_candidate(SnakeBridge.Ref.t(), Dspy.Primitives.Module.Module.t(), keyword()) ::
{:ok, %{optional(String.t()) => String.t()}} | {:error, Snakepit.Error.t()}
def _build_seed_candidate(ref, student, opts \\ []) do
SnakeBridge.Runtime.call_method(ref, :_build_seed_candidate, [student], opts)
end
@spec auto_budget(SnakeBridge.Ref.t(), term(), term(), integer(), list(term()), keyword()) ::
{:ok, integer()} | {:error, Snakepit.Error.t()}
def auto_budget(ref, num_preds, num_candidates, valset_size, args, opts \\ []) do
{args, opts} = SnakeBridge.Runtime.normalize_args_opts(args, opts)
SnakeBridge.Runtime.call_method(
ref,
:auto_budget,
[num_preds, num_candidates, valset_size] ++ List.wrap(args),
opts
)
end
@spec compile(SnakeBridge.Ref.t(), Dspy.Primitives.Module.Module.t(), keyword()) ::
{:ok, Dspy.Primitives.Module.Module.t()} | {:error, Snakepit.Error.t()}
def compile(ref, student, opts \\ []) do
kw_keys = opts |> Keyword.keys() |> Enum.map(&to_string/1)
missing_kw = ["trainset"] |> Enum.reject(&(&1 in kw_keys))
if missing_kw != [] do
raise ArgumentError,
"Missing required keyword-only arguments: " <> Enum.join(missing_kw, ", ")
end
SnakeBridge.Runtime.call_method(ref, :compile, [student], opts)
end
@spec get_params(SnakeBridge.Ref.t(), keyword()) ::
{:ok, %{optional(String.t()) => term()}} | {:error, Snakepit.Error.t()}
def get_params(ref, opts \\ []) do
SnakeBridge.Runtime.call_method(ref, :get_params, [], opts)
end
end