pub struct SamplerState {
pub cfg: SamplerConfig,
/* private fields */
}Expand description
Stateful sampler: owns the PRNG stream so successive tokens advance it deterministically.
Fields§
§cfg: SamplerConfigImplementations§
Source§impl SamplerState
impl SamplerState
pub fn new(cfg: SamplerConfig) -> Self
Sourcepub fn sample(&mut self, logits: &mut [f32], ctx: &[u32]) -> u32
pub fn sample(&mut self, logits: &mut [f32], ctx: &[u32]) -> u32
Sample the next token id. logits is the full vocab (mutated in place as a scratch buffer);
ctx is the running token history (prompt + generated) for the penalty window.
Greedy (temperature <= 0) returns the argmax with no mutation of selection semantics.
Trait Implementations§
Source§impl Clone for SamplerState
impl Clone for SamplerState
Source§fn clone(&self) -> SamplerState
fn clone(&self) -> SamplerState
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for SamplerState
impl RefUnwindSafe for SamplerState
impl Send for SamplerState
impl Sync for SamplerState
impl Unpin for SamplerState
impl UnsafeUnpin for SamplerState
impl UnwindSafe for SamplerState
Blanket Implementations§
§impl<S, A> Aggregate<Result<S, Error>> for Awhere
A: Aggregate<S>,
impl<S, A> Aggregate<Result<S, Error>> for Awhere
A: Aggregate<S>,
Aggregate shares in an MPC protocol.
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,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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