# Generated by SnakeBridge v0.14.0 - DO NOT EDIT MANUALLY # Regenerate with: mix compile # Library: dspy 3.1.2 # Python module: dspy # Python class: BetterTogether defmodule Dspy.BetterTogether do @moduledoc """ Wrapper for Python class BetterTogether. """ def __snakebridge_python_name__, do: "dspy" def __snakebridge_python_class__, do: "BetterTogether" def __snakebridge_library__, do: "dspy" @opaque t :: SnakeBridge.Ref.t() @doc """ Initialize self. See help(type(self)) for accurate signature. ## Parameters - `metric` (term()) - `prompt_optimizer` (term() default: None) - `weight_optimizer` (term() default: None) - `seed` (term() default: None) """ @spec new(term(), list(term()), keyword()) :: {:ok, SnakeBridge.Ref.t()} | {:error, Snakepit.Error.t()} def new(metric, args, opts \\ []) do {args, opts} = SnakeBridge.Runtime.normalize_args_opts(args, opts) SnakeBridge.Runtime.call_class(__MODULE__, :__init__, [metric] ++ List.wrap(args), opts) end @doc """ Python method `BetterTogether._compile_prompt_optimizer`. ## Parameters - `student` (term()) - `trainset` (term()) - `valset_ratio` (term()) ## Returns - `Dspy.Primitives.ModuleClass3.t()` """ @spec _compile_prompt_optimizer(SnakeBridge.Ref.t(), term(), term(), term(), keyword()) :: {:ok, Dspy.Primitives.ModuleClass3.t()} | {:error, Snakepit.Error.t()} def _compile_prompt_optimizer(ref, student, trainset, valset_ratio, opts \\ []) do SnakeBridge.Runtime.call_method( ref, :_compile_prompt_optimizer, [student, trainset, valset_ratio], opts ) end @doc """ Python method `BetterTogether._compile_weight_optimizer`. ## Parameters - `student` (term()) - `trainset` (term()) ## Returns - `Dspy.Primitives.ModuleClass3.t()` """ @spec _compile_weight_optimizer(SnakeBridge.Ref.t(), term(), term(), keyword()) :: {:ok, Dspy.Primitives.ModuleClass3.t()} | {:error, Snakepit.Error.t()} def _compile_weight_optimizer(ref, student, trainset, opts \\ []) do SnakeBridge.Runtime.call_method(ref, :_compile_weight_optimizer, [student, trainset], opts) end @doc """ Python method `BetterTogether._run_strategies`. ## Parameters - `parsed_strategy` (term()) - `student` (term()) - `trainset` (term()) - `valset_ratio` (term()) ## Returns - `Dspy.Primitives.ModuleClass3.t()` """ @spec _run_strategies(SnakeBridge.Ref.t(), term(), term(), term(), term(), keyword()) :: {:ok, Dspy.Primitives.ModuleClass3.t()} | {:error, Snakepit.Error.t()} def _run_strategies(ref, parsed_strategy, student, trainset, valset_ratio, opts \\ []) do SnakeBridge.Runtime.call_method( ref, :_run_strategies, [parsed_strategy, student, trainset, valset_ratio], opts ) end @doc """ Optimize the student program. ## Parameters - `student` - The student program to optimize. - `trainset` - The training set to use for optimization. - `teacher` - The teacher program to use for optimization. - `valset` - The validation set to use for optimization. ## Returns - `Dspy.Primitives.ModuleClass3.t()` """ @spec compile( SnakeBridge.Ref.t(), Dspy.Primitives.ModuleClass3.t(), list(Dspy.Primitives.ExampleClass.t()), list(term()), keyword() ) :: {:ok, Dspy.Primitives.ModuleClass3.t()} | {:error, Snakepit.Error.t()} def compile(ref, student, trainset, args, opts \\ []) do {args, opts} = SnakeBridge.Runtime.normalize_args_opts(args, opts) SnakeBridge.Runtime.call_method(ref, :compile, [student, trainset] ++ List.wrap(args), opts) end @doc """ Get the parameters of the teleprompter. ## Returns - `%{optional(String.t()) => term()}` """ @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 @spec strat_sep(SnakeBridge.Ref.t()) :: {:ok, term()} | {:error, Snakepit.Error.t()} def strat_sep(ref) do SnakeBridge.Runtime.get_attr(ref, :STRAT_SEP) end end