
    sg                         d Z ddlmZ ddlmZ ddlmZmZm	Z	 ddl
mZ  ej                  e      Zd	Zd
ej                   dededej                   fdZ G d de	      Z G d de      Z G d de      Zy)zFlax mT5 model.    N   )logging   )FlaxT5EncoderModelFlaxT5ForConditionalGenerationFlaxT5Model   )	MT5ConfigT5Config	input_idspad_token_iddecoder_start_token_idreturnc                    t        j                  |       }|j                  ddddf   j                  | ddddf         }|j                  dddf   j                  |      }t        j                  |dk(  ||      }|S )z1
    Shift input ids one token to the right.
    Nr	   r   i)jnp
zeros_likeatsetwhere)r   r   r   shifted_input_idss       \/var/www/html/venv/lib/python3.12/site-packages/transformers/models/mt5/modeling_flax_mt5.pyshift_tokens_rightr      s     y1),,QU377	!SbS&8IJ),,QT2667MN		"3t";\K\]    c                       e Zd ZdZdZeZy)FlaxMT5Modela  
    This class overrides [`FlaxT5Model`]. Please check the superclass for the appropriate documentation alongside usage
    examples.

    Examples:

    ```python
    >>> from transformers import FlaxMT5Model, AutoTokenizer

    >>> model = FlaxMT5Model.from_pretrained("google/mt5-small")
    >>> tokenizer = AutoTokenizer.from_pretrained("google/mt5-small")

    >>> article = "UN Offizier sagt, dass weiter verhandelt werden muss in Syrien."
    >>> summary = "Weiter Verhandlung in Syrien."
    >>> inputs = tokenizer(article, return_tensors="np")

    >>> decoder_input_ids = tokenizer(text_target=summary, return_tensors="np").input_ids

    >>> outputs = model(input_ids=inputs["input_ids"], decoder_input_ids=decoder_input_ids)
    >>> hidden_states = outputs.last_hidden_state
    ```mt5N__name__
__module____qualname____doc__
model_typer
   config_class r   r   r   r   *       , JLr   r   c                       e Zd ZdZdZeZy)FlaxMT5EncoderModela	  
    This class overrides [`FlaxT5EncoderModel`]. Please check the superclass for the appropriate documentation
    alongside usage examples.

    Examples:

    ```python
    >>> from transformers import FlaxT5EncoderModel, AutoTokenizer

    >>> model = FlaxT5EncoderModel.from_pretrained("google/mt5-small")
    >>> tokenizer = AutoTokenizer.from_pretrained("google/mt5-small")

    >>> article = "UN Offizier sagt, dass weiter verhandelt werden muss in Syrien."
    >>> summary = "Weiter Verhandlung in Syrien."
    >>> inputs = tokenizer(article, return_tensors="np")

    >>> decoder_input_ids = tokenizer(text_target=summary, return_tensors="np").input_ids

    >>> outputs = model(input_ids=inputs["input_ids"])
    >>> hidden_states = outputs.last_hidden_state
    ```r   Nr   r%   r   r   r(   r(   E   r&   r   r(   c                       e Zd ZdZdZeZy)FlaxMT5ForConditionalGenerationa-  
    This class overrides [`FlaxT5ForConditionalGeneration`]. Please check the superclass for the appropriate
    documentation alongside usage examples.

    Examples:

    ```python
    >>> from transformers import FlaxMT5ForConditionalGeneration, AutoTokenizer

    >>> model = FlaxMT5ForConditionalGeneration.from_pretrained("google/mt5-small")
    >>> tokenizer = AutoTokenizer.from_pretrained("google/mt5-small")

    >>> article = "UN Offizier sagt, dass weiter verhandelt werden muss in Syrien."
    >>> summary = "Weiter Verhandlung in Syrien."
    >>> inputs = tokenizer(article, return_tensors="np")

    >>> decoder_input_ids = tokenizer(text_target=summary, return_tensors="np").input_ids

    >>> outputs = model(**inputs, decoder_input_ids=decoder_input_ids)
    >>> logits = outputs.logits
    ```r   Nr   r%   r   r   r*   r*   `   r&   r   r*   )r"   	jax.numpynumpyr   utilsr   t5.modeling_flax_t5r   r   r   configuration_mt5r
   
get_loggerr   logger_CONFIG_FOR_DOCndarrayintr   r   r(   r*   r%   r   r   <module>r5      s       a a ( 
		H	%	#++ 	S 	Z] 	bebmbm 	; 6, 6&D r   