pub struct TokenSelectionMask {
pub fingerprint: u64,
pub valid_token_mask: Arc<[i8]>,
}Expand description
Token-validity mask for model-side greedy argmax.
valid_token_mask[id] != 0 means token id may be selected. Tokens at or
above valid_token_mask.len() are invalid. The fingerprint lets model
backends cache an uploaded device mask without comparing the full vector on
every decode step.
Fields§
§fingerprint: u64§valid_token_mask: Arc<[i8]>Implementations§
Source§impl TokenSelectionMask
impl TokenSelectionMask
pub fn new(valid_token_mask: Vec<i8>) -> Self
Sourcepub fn set_tokens_validity(&mut self, token_ids: &[u32], valid: bool) -> bool
pub fn set_tokens_validity(&mut self, token_ids: &[u32], valid: bool) -> bool
Change a small set of token-validity slots and refresh the cache key
once. Arc::make_mut keeps the common unshared request mask in place
and preserves safety when an in-flight backend policy still owns a
clone.
pub fn len(&self) -> usize
pub fn is_empty(&self) -> bool
Trait Implementations§
Source§impl Clone for TokenSelectionMask
impl Clone for TokenSelectionMask
Source§fn clone(&self) -> TokenSelectionMask
fn clone(&self) -> TokenSelectionMask
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 TokenSelectionMask
impl RefUnwindSafe for TokenSelectionMask
impl Send for TokenSelectionMask
impl Sync for TokenSelectionMask
impl Unpin for TokenSelectionMask
impl UnsafeUnpin for TokenSelectionMask
impl UnwindSafe for TokenSelectionMask
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