# Generated by SnakeBridge v0.12.0 - DO NOT EDIT MANUALLY # Regenerate with: mix compile # Library: dspy 3.1.2 # Python module: dspy.predict.aggregation defmodule Dspy.Predict.Aggregation do @moduledoc """ Submodule bindings for `dspy.predict.aggregation`. """ def __snakebridge_python_name__, do: "dspy.predict.aggregation" def __snakebridge_library__, do: "dspy" @doc """ """ @spec default_normalize(term(), keyword()) :: {:ok, term()} | {:error, Snakepit.Error.t()} def default_normalize(s, opts \\ []) do SnakeBridge.Runtime.call(__MODULE__, :default_normalize, [s], opts) end @doc """ Returns the most common completion for the target field (or the last field) in the signature. When normalize returns None, that completion is ignored. In case of a tie, earlier completion are prioritized. Parameters: - `prediction_or_completions` (term()) - `normalize` (term() default: ) - `field` (term() default: None) Returns: - `term()` """ @spec majority(term()) :: {:ok, term()} | {:error, Snakepit.Error.t()} @spec majority(term(), keyword()) :: {:ok, term()} | {:error, Snakepit.Error.t()} @spec majority(term(), term()) :: {:ok, term()} | {:error, Snakepit.Error.t()} @spec majority(term(), term(), keyword()) :: {:ok, term()} | {:error, Snakepit.Error.t()} @spec majority(term(), term(), term()) :: {:ok, term()} | {:error, Snakepit.Error.t()} @spec majority(term(), term(), term(), keyword()) :: {:ok, term()} | {:error, Snakepit.Error.t()} def majority(prediction_or_completions) do SnakeBridge.Runtime.call(__MODULE__, :majority, [prediction_or_completions], []) end def majority(prediction_or_completions, opts) when is_list(opts) and (opts == [] or (is_tuple(hd(opts)) and tuple_size(hd(opts)) == 2 and is_atom(elem(hd(opts), 0)))) do SnakeBridge.Runtime.call(__MODULE__, :majority, [prediction_or_completions], opts) end def majority(prediction_or_completions, normalize) do SnakeBridge.Runtime.call(__MODULE__, :majority, [prediction_or_completions, normalize], []) end def majority(prediction_or_completions, normalize, opts) when is_list(opts) and (opts == [] or (is_tuple(hd(opts)) and tuple_size(hd(opts)) == 2 and is_atom(elem(hd(opts), 0)))) do SnakeBridge.Runtime.call(__MODULE__, :majority, [prediction_or_completions, normalize], opts) end def majority(prediction_or_completions, normalize, field) do SnakeBridge.Runtime.call( __MODULE__, :majority, [prediction_or_completions, normalize, field], [] ) end def majority(prediction_or_completions, normalize, field, opts) when is_list(opts) and (opts == [] or (is_tuple(hd(opts)) and tuple_size(hd(opts)) == 2 and is_atom(elem(hd(opts), 0)))) do SnakeBridge.Runtime.call( __MODULE__, :majority, [prediction_or_completions, normalize, field], opts ) end end