pub struct PresenceFrequencyPenaltyProcessor {
pub presence_penalty: f32,
pub frequency_penalty: f32,
}Expand description
OpenAI-compatible additive penalties over generated-token counts.
Repetition penalty is multiplicative and remains a separate processor.
Presence and frequency penalties are additive and are applied afterwards:
logit -= presence * seen + frequency * count.
Fields§
§presence_penalty: f32§frequency_penalty: f32Implementations§
Source§impl PresenceFrequencyPenaltyProcessor
impl PresenceFrequencyPenaltyProcessor
pub fn new( presence_penalty: f32, frequency_penalty: f32, ) -> PresenceFrequencyPenaltyProcessor
Trait Implementations§
Source§impl LogitsProcessor for PresenceFrequencyPenaltyProcessor
impl LogitsProcessor for PresenceFrequencyPenaltyProcessor
Source§fn process(&self, ctx: &mut SamplingContext<'_>) -> Result<(), FerrumError>
fn process(&self, ctx: &mut SamplingContext<'_>) -> Result<(), FerrumError>
Process logits in-place
Source§fn priority(&self) -> ProcessorPriority
fn priority(&self) -> ProcessorPriority
Whether this processor should be applied before others
Auto Trait Implementations§
impl Freeze for PresenceFrequencyPenaltyProcessor
impl RefUnwindSafe for PresenceFrequencyPenaltyProcessor
impl Send for PresenceFrequencyPenaltyProcessor
impl Sync for PresenceFrequencyPenaltyProcessor
impl Unpin for PresenceFrequencyPenaltyProcessor
impl UnsafeUnpin for PresenceFrequencyPenaltyProcessor
impl UnwindSafe for PresenceFrequencyPenaltyProcessor
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