# Generated by SnakeBridge v0.14.0 - DO NOT EDIT MANUALLY # Regenerate with: mix compile # Library: dspy 3.1.2 # Python module: dspy # Python class: Ensemble defmodule Dspy.Ensemble do @moduledoc """ Wrapper for Python class Ensemble. """ def __snakebridge_python_name__, do: "dspy" def __snakebridge_python_class__, do: "Ensemble" def __snakebridge_library__, do: "dspy" @opaque t :: SnakeBridge.Ref.t() @doc """ A common reduce_fn is dspy.majority. ## Parameters - `reduce_fn` (term() keyword-only default: None) - `size` (term() keyword-only default: None) - `deterministic` (term() keyword-only default: False) """ @spec new(keyword()) :: {:ok, SnakeBridge.Ref.t()} | {:error, Snakepit.Error.t()} def new(opts \\ []) do SnakeBridge.Runtime.call_class(__MODULE__, :__init__, [], 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(), keyword()) :: {:ok, term()} | {:error, Snakepit.Error.t()} def compile(ref, programs, opts \\ []) do SnakeBridge.Runtime.call_method(ref, :compile, [programs], 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 end