# Generation

Each framework has a generate method for text generation implemented in their respective `GenerationMixin` class:

- PyTorch [`~generation.GenerationMixin.generate`] is implemented in [`~generation.GenerationMixin`].

- TensorFlow [`~generation.TFGenerationMixin.generate`] is implemented in [`~generation.TFGenerationMixin`].

- Flax/JAX [`~generation.FlaxGenerationMixin.generate`] is implemented in [`~generation.FlaxGenerationMixin`].

Regardless of your framework of choice, you can parameterize the generate method with a [`~generation.GenerationConfig`]

class instance. Please refer to this class for the complete list of generation parameters, which control the behavior

of the generation method.

To learn how to inspect a model's generation configuration, what are the defaults, how to change the parameters ad hoc,

and how to create and save a customized generation configuration, refer to the

[text generation strategies guide](../generation_strategies). The guide also explains how to use related features,

like token streaming.

## GenerationConfig

[[autodoc]] generation.GenerationConfig

	- from_pretrained

	- from_model_config

	- save_pretrained

## GenerationMixin

[[autodoc]] generation.GenerationMixin

	- generate

	- compute_transition_scores

	- greedy_search

	- sample

	- beam_search

	- beam_sample

	- contrastive_search

	- group_beam_search

	- constrained_beam_search

## TFGenerationMixin

[[autodoc]] generation.TFGenerationMixin

	- generate

	- compute_transition_scores

## FlaxGenerationMixin

[[autodoc]] generation.FlaxGenerationMixin

	- generate