pub struct ConstrainedSampler<S, C> { /* private fields */ }Expand description
Grammar-aware wrapper around a backend-neutral sampling policy.
Implementations§
Source§impl<S, C> ConstrainedSampler<S, C>
impl<S, C> ConstrainedSampler<S, C>
Sourcepub fn new(policy: S, controller: C) -> Self
pub fn new(policy: S, controller: C) -> Self
Wraps a policy with a portable canonical constraint controller.
Sourcepub const fn controller(&self) -> &C
pub const fn controller(&self) -> &C
Returns the portable constraint controller.
Sourcepub fn controller_mut(&mut self) -> &mut C
pub fn controller_mut(&mut self) -> &mut C
Returns the portable constraint controller mutably.
Trait Implementations§
Source§impl<B, S, C> Sampler<B> for ConstrainedSampler<S, C>
impl<B, S, C> Sampler<B> for ConstrainedSampler<S, C>
Source§fn sample(
&mut self,
logits: &B::Logits,
temperature: f32,
random: Option<&mut B::RandomState>,
context: &B::Context,
) -> Result<B::Token, B::Error>
fn sample( &mut self, logits: &B::Logits, temperature: f32, random: Option<&mut B::RandomState>, context: &B::Context, ) -> Result<B::Token, B::Error>
Selects one token from raw model logits.
Source§fn uses_checkpoint_defaults(&self) -> bool
fn uses_checkpoint_defaults(&self) -> bool
Whether loaded checkpoint defaults should wrap this policy.
Source§impl<B, S, C> SpeculativeSampler<B> for ConstrainedSampler<S, C>
impl<B, S, C> SpeculativeSampler<B> for ConstrainedSampler<S, C>
Source§fn supports_exact_optimistic_promotion(&self) -> bool
fn supports_exact_optimistic_promotion(&self) -> bool
Whether optimistic draft work is an exact discardable fork.
Source§fn grammar_is_complete(&mut self) -> Result<bool, B::Error>
fn grammar_is_complete(&mut self) -> Result<bool, B::Error>
Whether the committed generation grammar is complete.
Source§fn prefix_is_complete(&self, history: &[u32]) -> Result<bool, B::Error>
fn prefix_is_complete(&self, history: &[u32]) -> Result<bool, B::Error>
Whether an uncommitted logical prefix completes the grammar.
Source§fn process_logits(
&mut self,
logits: &B::Logits,
temperature: f32,
history: &[u32],
context: &B::Context,
) -> Result<B::Logits, B::Error>
fn process_logits( &mut self, logits: &B::Logits, temperature: f32, history: &[u32], context: &B::Context, ) -> Result<B::Logits, B::Error>
Applies penalties, filters, and temperature.
Source§fn sample_processed(
&self,
logits: &B::Logits,
temperature: f32,
random: Option<&mut B::RandomState>,
context: &B::Context,
) -> Result<B::Token, B::Error>
fn sample_processed( &self, logits: &B::Logits, temperature: f32, random: Option<&mut B::RandomState>, context: &B::Context, ) -> Result<B::Token, B::Error>
Selects from already processed logits.
Source§fn commit_token(
&mut self,
processed_logits: &B::Logits,
token: u32,
context: &B::Context,
) -> Result<(), B::Error>
fn commit_token( &mut self, processed_logits: &B::Logits, token: u32, context: &B::Context, ) -> Result<(), B::Error>
Commits a token selected from a processed target distribution.
Source§fn uses_checkpoint_defaults(&self) -> bool
fn uses_checkpoint_defaults(&self) -> bool
Whether loaded checkpoint defaults should wrap this policy.
Auto Trait Implementations§
impl<S, C> Freeze for ConstrainedSampler<S, C>
impl<S, C> RefUnwindSafe for ConstrainedSampler<S, C>where
S: RefUnwindSafe,
C: RefUnwindSafe,
impl<S, C> Send for ConstrainedSampler<S, C>
impl<S, C> Sync for ConstrainedSampler<S, C>
impl<S, C> Unpin for ConstrainedSampler<S, C>
impl<S, C> UnsafeUnpin for ConstrainedSampler<S, C>where
S: UnsafeUnpin,
C: UnsafeUnpin,
impl<S, C> UnwindSafe for ConstrainedSampler<S, C>where
S: UnwindSafe,
C: UnwindSafe,
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