Current section
Files
Jump to
Current section
Files
lib/snakebridge_generated/dspy/better_together.ex
# Generated by SnakeBridge v0.16.0 - DO NOT EDIT MANUALLY
# Regenerate with: mix compile
# Library: dspy 3.1.3
# 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
- `term()`
"""
@spec _compile_prompt_optimizer(SnakeBridge.Ref.t(), term(), term(), term(), keyword()) ::
{:ok, term()} | {: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
- `term()`
"""
@spec _compile_weight_optimizer(SnakeBridge.Ref.t(), term(), term(), keyword()) ::
{:ok, term()} | {: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
- `term()`
"""
@spec _run_strategies(SnakeBridge.Ref.t(), term(), term(), term(), term(), keyword()) ::
{:ok, term()} | {: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
- `term()`
"""
@spec compile(SnakeBridge.Ref.t(), term(), list(term()), list(term()), keyword()) ::
{:ok, term()} | {: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