pub struct GenerateConfig {Show 21 fields
pub model_type: ModelType,
pub model_resource: ModelResource,
pub config_resource: Box<dyn ResourceProvider + Send>,
pub vocab_resource: Box<dyn ResourceProvider + Send>,
pub merges_resource: Option<Box<dyn ResourceProvider + Send>>,
pub min_length: i64,
pub max_length: Option<i64>,
pub do_sample: bool,
pub early_stopping: bool,
pub num_beams: i64,
pub temperature: f64,
pub top_k: i64,
pub top_p: f64,
pub repetition_penalty: f64,
pub length_penalty: f64,
pub no_repeat_ngram_size: i64,
pub num_return_sequences: i64,
pub num_beam_groups: Option<i64>,
pub diversity_penalty: Option<f64>,
pub device: Device,
pub kind: Option<Kind>,
}
Expand description
§Configuration for text generation
Fields§
§model_type: ModelType
Model type used for generation
model_resource: ModelResource
Model weights resource (default: pretrained GPT2 model)
config_resource: Box<dyn ResourceProvider + Send>
Config resource (default: pretrained GPT2 model)
vocab_resource: Box<dyn ResourceProvider + Send>
Vocab resource (default: pretrained GPT2 model)
merges_resource: Option<Box<dyn ResourceProvider + Send>>
Merges resource (default: pretrained GPT2 model)
min_length: i64
Minimum sequence length (default: 0)
max_length: Option<i64>
Maximum sequence length (default: 20)
do_sample: bool
Sampling flag. If true, will perform top-k and/or nucleus sampling on generated tokens, otherwise greedy (deterministic) decoding (default: true)
early_stopping: bool
Early stopping flag indicating if the beam search should stop as soon as num_beam
hypotheses have been generated (default: false)
num_beams: i64
Number of beams for beam search (default: 5)
temperature: f64
Temperature setting. Values higher than 1 will improve originality at the risk of reducing relevance (default: 1.0)
top_k: i64
Top_k values for sampling tokens. Value higher than 0 will enable the feature (default: 0)
top_p: f64
Top_p value for Nucleus sampling, Holtzman et al.. Keep top tokens until cumulative probability reaches top_p (default: 0.9)
repetition_penalty: f64
Repetition penalty (mostly useful for CTRL decoders). Values higher than 1 will penalize tokens that have been already generated. (default: 1.0)
length_penalty: f64
Exponential penalty based on the length of the hypotheses generated (default: 1.0)
no_repeat_ngram_size: i64
Number of allowed repetitions of n-grams. Values higher than 0 turn on this feature (default: 3)
num_return_sequences: i64
Number of sequences to return for each prompt text (default: 1)
num_beam_groups: Option<i64>
Number of beam groups for diverse beam generation. If provided and higher than 1, will split the beams into beam subgroups leading to more diverse generation.
diversity_penalty: Option<f64>
Diversity penalty for diverse beam search. High values will enforce more difference between beam groups (default: 5.5)
device: Device
Device to place the model on (default: CUDA/GPU when available)
kind: Option<Kind>
Model weights precision. If not provided, will default to full precision on CPU, or the loaded weights precision otherwise
Trait Implementations§
Source§impl Default for GenerateConfig
impl Default for GenerateConfig
Source§fn default() -> GenerateConfig
fn default() -> GenerateConfig
Source§impl From<ConversationConfig> for GenerateConfig
impl From<ConversationConfig> for GenerateConfig
Source§fn from(config: ConversationConfig) -> GenerateConfig
fn from(config: ConversationConfig) -> GenerateConfig
Source§impl From<SummarizationConfig> for GenerateConfig
impl From<SummarizationConfig> for GenerateConfig
Source§fn from(config: SummarizationConfig) -> GenerateConfig
fn from(config: SummarizationConfig) -> GenerateConfig
Source§impl From<TextGenerationConfig> for GenerateConfig
impl From<TextGenerationConfig> for GenerateConfig
Source§fn from(config: TextGenerationConfig) -> GenerateConfig
fn from(config: TextGenerationConfig) -> GenerateConfig
Source§impl From<TranslationConfig> for GenerateConfig
impl From<TranslationConfig> for GenerateConfig
Source§fn from(config: TranslationConfig) -> GenerateConfig
fn from(config: TranslationConfig) -> GenerateConfig
Auto Trait Implementations§
impl Freeze for GenerateConfig
impl !RefUnwindSafe for GenerateConfig
impl Send for GenerateConfig
impl Sync for GenerateConfig
impl Unpin for GenerateConfig
impl !UnwindSafe for GenerateConfig
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
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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>
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>
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