Current section

Files

Jump to
dspex lib snakebridge_generated dspy copro.ex
Raw

lib/snakebridge_generated/dspy/copro.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: COPRO
defmodule Dspy.COPRO do
def __snakebridge_python_name__, do: "dspy"
def __snakebridge_python_class__, do: "COPRO"
def __snakebridge_library__, do: "dspy"
@opaque t :: SnakeBridge.Ref.t()
@spec new(list(term()), keyword()) :: {:ok, SnakeBridge.Ref.t()} | {:error, Snakepit.Error.t()}
def new(args, opts \\ []) do
{args, opts} = SnakeBridge.Runtime.normalize_args_opts(args, opts)
SnakeBridge.Runtime.call_class(__MODULE__, :__init__, [] ++ List.wrap(args), opts)
end
@spec _check_candidates_equal(SnakeBridge.Ref.t(), term(), term(), keyword()) ::
{:ok, term()} | {:error, Snakepit.Error.t()}
def _check_candidates_equal(ref, candidate1, candidate2, opts \\ []) do
SnakeBridge.Runtime.call_method(ref, :_check_candidates_equal, [candidate1, candidate2], opts)
end
@spec _drop_duplicates(SnakeBridge.Ref.t(), term(), keyword()) ::
{:ok, term()} | {:error, Snakepit.Error.t()}
def _drop_duplicates(ref, candidates, opts \\ []) do
SnakeBridge.Runtime.call_method(ref, :_drop_duplicates, [candidates], opts)
end
@spec _get_signature(SnakeBridge.Ref.t(), term(), keyword()) ::
{:ok, term()} | {:error, Snakepit.Error.t()}
def _get_signature(ref, predictor, opts \\ []) do
SnakeBridge.Runtime.call_method(ref, :_get_signature, [predictor], opts)
end
@spec _print_signature(SnakeBridge.Ref.t(), term(), keyword()) ::
{:ok, term()} | {:error, Snakepit.Error.t()}
def _print_signature(ref, predictor, opts \\ []) do
SnakeBridge.Runtime.call_method(ref, :_print_signature, [predictor], opts)
end
@spec _set_signature(SnakeBridge.Ref.t(), term(), term(), keyword()) ::
{:ok, term()} | {:error, Snakepit.Error.t()}
def _set_signature(ref, predictor, updated_signature, opts \\ []) do
SnakeBridge.Runtime.call_method(ref, :_set_signature, [predictor, updated_signature], opts)
end
@spec compile(SnakeBridge.Ref.t(), term(), keyword()) ::
{:ok, term()} | {:error, Snakepit.Error.t()}
def compile(ref, student, opts \\ []) do
kw_keys = opts |> Keyword.keys() |> Enum.map(&to_string/1)
missing_kw = ["trainset", "eval_kwargs"] |> 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