o
    }o™i$  ã                   @   sx   d dl mZ d dlmZmZ eG dd„ dƒƒZeG dd„ deƒƒZeG dd„ deƒƒZd	Zej	Z
ej	Zejej	fgZd
S )é    )Ú	dataclass)ÚCallableÚOptionalc                   @   sB   e Zd ZU dZeed< eed< eed< eed< dZe	e
 ed< dS )ÚMultiModalTokenzN
    Base class for multimodal tokens representing different media types.
    Ú	token_strÚtoken_indexÚ
media_typeÚuse_start_endNÚ
encoder_fn)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚstrÚ__annotations__ÚintÚboolr
   r   r   © r   r   úd/home/ubuntu/.local/lib/python3.10/site-packages/nemo/collections/vlm/neva/data/multimodal_tokens.pyr      s   
 r   c                   @   óB   e Zd ZU dZdZeed< dZeed< dZ	eed< dZ
eed	< d
S )Ú
ImageTokenzImage Token classz<image>r   i8ÿÿÿr   Úimager   Fr	   N©r   r   r   r   r   r   r   r   r   r   r	   r   r   r   r   r   r       ó   
 r   c                   @   r   )Ú
VideoTokenzVideo Token classz<video>r   iÔþÿÿr   Úvideor   Fr	   Nr   r   r   r   r   r   *   r   r   iœÿÿÿN)Údataclassesr   Útypingr   r   r   r   r   ÚIGNORE_INDEXr   ÚIMAGE_TOKEN_INDEXÚVIDEO_TOKEN_INDEXr   ÚSPECIAL_TOKEN_MAPr   r   r   r   Ú<module>   s   	

ÿ