Struct rust_bert::pipelines::generation_utils::GenerateOptions
source · [−]pub struct GenerateOptions<'a> {Show 20 fields
pub min_length: Option<i64>,
pub max_length: Option<i64>,
pub max_new_tokens: Option<i64>,
pub early_stopping: Option<bool>,
pub num_return_sequences: Option<i64>,
pub num_beams: Option<i64>,
pub num_beam_groups: Option<i64>,
pub do_sample: Option<bool>,
pub temperature: Option<f64>,
pub top_k: Option<i64>,
pub top_p: Option<f64>,
pub repetition_penalty: Option<f64>,
pub length_penalty: Option<f64>,
pub no_repeat_ngram_size: Option<i64>,
pub diversity_penalty: Option<f64>,
pub decoder_start_token_id: Option<i64>,
pub forced_bos_token_id: Option<i64>,
pub prefix_allowed_tokens_fn: Option<&'a dyn Fn(i64, &Tensor) -> Vec<i64>>,
pub bad_word_ids: Option<&'a Vec<Vec<i64>>>,
pub output_scores: bool,
}Expand description
Generation options for text generation.
When provided to a generate method, these options will take priority over the GenerateConfig used to create the
LanguageGenerator. Some of these options may be left as None, options without a value will individually default
to the GenerateConfig.
Fields
min_length: Option<i64>Minimum sequence length
max_length: Option<i64>Maximum sequence length
max_new_tokens: Option<i64>Maximum number of new tokens to generate (useful for causal generation models).
Only one of max_length and max_new_tokens should be provided.
When both are given, max_new_tokens is ignored and the max_length setting is used.
early_stopping: Option<bool>Early stopping flag indicating if the beam search should stop as soon as num_beam hypotheses have been generated
num_return_sequences: Option<i64>Number of sequences to return for each prompt text
num_beams: Option<i64>Number of beams for beam search
num_beam_groups: Option<i64>do_sample: Option<bool>Sampling flag. If true, will perform top-k and/or nucleus sampling on generated tokens, otherwise greedy (deterministic) decoding
temperature: Option<f64>Temperature setting. Values higher than 1 will improve originality at the risk of reducing relevance
top_k: Option<i64>Top_k values for sampling tokens. Value higher than 0 will enable the feature
top_p: Option<f64>Top_p value for Nucleus sampling, Holtzman et al.. Keep top tokens until cumulative probability reaches top_p
repetition_penalty: Option<f64>Repetition penalty (mostly useful for CTRL decoders). Values higher than 1 will penalize tokens that have been already generated.
length_penalty: Option<f64>Exponential penalty based on the length of the hypotheses generated
no_repeat_ngram_size: Option<i64>Number of allowed repetitions of n-grams. Values higher than 0 turn on this feature
diversity_penalty: Option<f64>Diversity penalty for diverse beam search. High values will enforce more difference between beam groups
decoder_start_token_id: Option<i64>Decoder start token id
forced_bos_token_id: Option<i64>Forced first token generated
prefix_allowed_tokens_fn: Option<&'a dyn Fn(i64, &Tensor) -> Vec<i64>>Function to control the generation process. The function should take a batch_id (i64) and a tensor of token_ids already generated and returns a Vec<i64> of allowed tokens.
bad_word_ids: Option<&'a Vec<Vec<i64>>>List of bad word ids (may be a sequence of word ids) that will be banned during the generation
output_scores: boolFlag indicating if text generation scores should be returned
Trait Implementations
sourceimpl<'a> Clone for GenerateOptions<'a>
impl<'a> Clone for GenerateOptions<'a>
sourcefn clone(&self) -> GenerateOptions<'a>
fn clone(&self) -> GenerateOptions<'a>
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source. Read more
sourceimpl<'a> Default for GenerateOptions<'a>
impl<'a> Default for GenerateOptions<'a>
sourcefn default() -> GenerateOptions<'a>
fn default() -> GenerateOptions<'a>
Returns the “default value” for a type. Read more
impl<'a> Copy for GenerateOptions<'a>
Auto Trait Implementations
impl<'a> !RefUnwindSafe for GenerateOptions<'a>
impl<'a> !Send for GenerateOptions<'a>
impl<'a> !Sync for GenerateOptions<'a>
impl<'a> Unpin for GenerateOptions<'a>
impl<'a> !UnwindSafe for GenerateOptions<'a>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Instruments this type with the provided Span, returning an
Instrumented wrapper. Read more
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
impl<T> Pointable for T
impl<T> Pointable for T
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into)Uses borrowed data to replace owned data, usually by cloning. Read more
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
fn vzip(self) -> V
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
Attaches the provided Subscriber to this type, returning a
WithDispatch wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber to this type, returning a
WithDispatch wrapper. Read more