pub struct SelfConsistencyConfig {
pub num_samples: usize,
pub voting_method: VotingMethod,
pub temperature_base: f64,
pub temperature_variance: f64,
pub min_sample_confidence: f64,
pub use_cisc: bool,
pub early_stopping: bool,
pub consensus_threshold: f64,
}Expand description
Self-Consistency configuration
Fields§
§num_samples: usizeNumber of reasoning paths to sample (default: 5) Research shows diminishing returns after ~10-15 samples
voting_method: VotingMethodVoting method to use
temperature_base: f64Temperature variance for diverse sampling Higher values = more diverse reasoning paths
temperature_variance: f64Temperature increment per sample (for diversity)
min_sample_confidence: f64Minimum confidence threshold for a sample to be included in voting
use_cisc: boolEnable CISC (Confidence-Informed Self-Consistency) Reduces required samples by ~40% (arXiv:2502.06233)
early_stopping: boolEarly stopping if consensus reached
consensus_threshold: f64Consensus threshold for early stopping (e.g., 0.8 = 80% agreement)
Implementations§
Source§impl SelfConsistencyConfig
impl SelfConsistencyConfig
Sourcepub fn temperature_for_sample(&self, index: usize) -> f64
pub fn temperature_for_sample(&self, index: usize) -> f64
Get temperature for a specific sample index
Trait Implementations§
Source§impl Clone for SelfConsistencyConfig
impl Clone for SelfConsistencyConfig
Source§fn clone(&self) -> SelfConsistencyConfig
fn clone(&self) -> SelfConsistencyConfig
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for SelfConsistencyConfig
impl Debug for SelfConsistencyConfig
Source§impl Default for SelfConsistencyConfig
impl Default for SelfConsistencyConfig
Source§impl<'de> Deserialize<'de> for SelfConsistencyConfig
impl<'de> Deserialize<'de> for SelfConsistencyConfig
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for SelfConsistencyConfig
impl RefUnwindSafe for SelfConsistencyConfig
impl Send for SelfConsistencyConfig
impl Sync for SelfConsistencyConfig
impl Unpin for SelfConsistencyConfig
impl UnwindSafe for SelfConsistencyConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more