Skip to main content

JsonModeProcessor

Struct JsonModeProcessor 

Source
pub struct JsonModeProcessor { /* private fields */ }
Expand description

JSON mode logits processor.

Biases logits to encourage valid JSON output by boosting structural tokens and penalizing tokens that would break JSON syntax at the current state.

Uses token ID heuristics (ASCII-range tokens for {, }, ", etc.) which works with most tokenizers where single-character punctuation maps to predictable token IDs.

Implementations§

Source§

impl JsonModeProcessor

Source

pub fn new() -> Self

Source

pub fn reset(&self)

Reset state for a new generation.

Source

pub fn current_state(&self) -> JsonState

Get current state (for testing).

Source

pub fn apply_biases(&self, logits: &mut [f32], generated_text: &str)

Apply structural biases based on the generated text so far.

Examines the last generated token’s text to update state, then biases logits for the next step.

Trait Implementations§

Source§

impl Debug for JsonModeProcessor

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for JsonModeProcessor

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl LogitsProcessor for JsonModeProcessor

Source§

fn process(&self, ctx: &mut SamplingContext<'_>) -> Result<()>

Process logits in-place
Source§

fn name(&self) -> &str

Get processor name for debugging/logging
Source§

fn priority(&self) -> ProcessorPriority

Whether this processor should be applied before others

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V