pub struct DraftProposal {
pub tokens: Vec<TokenId>,
pub token_logprobs: Vec<LogProb>,
pub distributions: Vec<Vec<LogProb>>,
}Expand description
Output of a single DraftModel::propose call.
Fields are aligned index-wise: tokens[i] is the draft’s sampled token at
step i, token_logprobs[i] is its log-probability under the draft, and
distributions[i] is the draft’s full log-probability row over the
vocabulary for that step (needed by the engine for the rejection test and
the adjusted re-sampling).
Fields§
§tokens: Vec<TokenId>The k tokens the draft model proposes to extend the prefix with.
token_logprobs: Vec<LogProb>Log-probability of each chosen token under the draft distribution.
distributions: Vec<Vec<LogProb>>Full per-step log-probability rows — distributions[i] has length
vocab_size and sums (in linear space) to 1.
Implementations§
Trait Implementations§
Source§impl Clone for DraftProposal
impl Clone for DraftProposal
Source§fn clone(&self) -> DraftProposal
fn clone(&self) -> DraftProposal
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 DraftProposal
impl Debug for DraftProposal
Source§impl PartialEq for DraftProposal
impl PartialEq for DraftProposal
impl StructuralPartialEq for DraftProposal
Auto Trait Implementations§
impl Freeze for DraftProposal
impl RefUnwindSafe for DraftProposal
impl Send for DraftProposal
impl Sync for DraftProposal
impl Unpin for DraftProposal
impl UnsafeUnpin for DraftProposal
impl UnwindSafe for DraftProposal
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> 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