CrucibleIR.Reliability.Ensemble (CrucibleIR v0.2.1)
View SourceConfiguration for ensemble voting strategies.
Ensemble voting uses multiple models to make predictions and combines their outputs using various voting strategies.
Fields
:strategy- The voting strategy (default::none):execution_mode- How to execute models (default::parallel):models- List of model identifiers to use in the ensemble:weights- Model weights for weighted voting:min_agreement- Minimum agreement threshold for voting:timeout_ms- Timeout for model execution:options- Additional ensemble-specific options
Voting Strategies
:none- No ensemble (single model):majority- Simple majority vote:weighted- Weighted vote based on model weights:best_confidence- Select output with highest confidence:unanimous- Require all models to agree
Execution Modes
:parallel- Execute all models simultaneously:sequential- Execute models one at a time:hedged- Use hedging for parallel execution:cascade- Stop when threshold is reached
Summary
Types
@type execution_mode() :: :parallel | :sequential | :hedged | :cascade
@type strategy() :: :none | :majority | :weighted | :best_confidence | :unanimous
@type t() :: %CrucibleIR.Reliability.Ensemble{ execution_mode: execution_mode(), min_agreement: float() | nil, models: [atom()] | nil, options: map() | nil, strategy: strategy(), timeout_ms: pos_integer() | nil, weights: map() | nil }