pub struct EnsembleTask<T, R> { /* private fields */ }Expand description
Runs the same Task runs times concurrently and reduces the
responses into one — self-consistency prompting: sample an LLM call
several times (usually with temperature > 0) and combine the answers
instead of trusting a single draw.
Implementations§
Source§impl<T, R> EnsembleTask<T, R>
impl<T, R> EnsembleTask<T, R>
Sourcepub fn new(id: impl Into<String>, inner: T, runs: usize, reducer: R) -> Self
pub fn new(id: impl Into<String>, inner: T, runs: usize, reducer: R) -> Self
Run inner runs times (at least 1) and combine the responses with reducer.
pub fn with_next_action(self, next_action: NextAction) -> Self
Trait Implementations§
Source§impl<T, R> Task for EnsembleTask<T, R>
impl<T, R> Task for EnsembleTask<T, R>
Auto Trait Implementations§
impl<T, R> Freeze for EnsembleTask<T, R>where
R: Freeze,
impl<T, R> RefUnwindSafe for EnsembleTask<T, R>where
R: RefUnwindSafe,
T: RefUnwindSafe,
impl<T, R> Send for EnsembleTask<T, R>
impl<T, R> Sync for EnsembleTask<T, R>
impl<T, R> Unpin for EnsembleTask<T, R>where
R: Unpin,
impl<T, R> UnsafeUnpin for EnsembleTask<T, R>where
R: UnsafeUnpin,
impl<T, R> UnwindSafe for EnsembleTask<T, R>where
R: UnwindSafe,
T: RefUnwindSafe,
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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