o
    ÔÙ¾i§  ã                   @   sT   d Z ddlZddlmZ ddlmZ e e¡ZG dd„ dej	ƒZ
G dd„ deƒZdS )	zOlmo3 model configurationé    N)ÚPretrainedConfig)Úloggingc                   @   s   e Zd ZdZdZdS )ÚOlmo3LayerTypeÚfull_attentionÚsliding_attentionN)Ú__name__Ú
__module__Ú__qualname__r   r   © r
   r
   úL/home/ubuntu/.local/lib/python3.10/site-packages/sglang/srt/configs/olmo3.pyr      s    r   c                       sR   e Zd ZdZdgZ										
												d‡ fdd„	Z‡  ZS )ÚOlmo3ConfigÚolmo3Úpast_key_valuesé€Ä  é   é +  é    NÚsilué   ç{®Gáz”?Té   égÄ  Fç     ˆÃ@ç        çñhãˆµøä>c                    sò   d|vr
dg|d< nd|d v r|d   d¡ |d  d¡ tƒ jd||||dœ|¤Ž || _|| _|| _|| _|| _|| _	|d u rD|}|| _
|| _|	| _|
| _|| _|| _|| _|| _|| _|| _|| _| jd u rwdd„ t| jƒD ƒ| _d S d S )NÚarchitecturesÚOlmo2ForCausalLMÚOlmo3ForCausalLM)Úpad_token_idÚbos_token_idÚeos_token_idÚtie_word_embeddingsc                 S   s$   g | ]}|d  d dkrdnd‘qS )r   é   r   r   r   r
   )Ú.0Úir
   r
   r   Ú
<listcomp>d   s    ÿÿz(Olmo3Config.__init__.<locals>.<listcomp>r
   )ÚremoveÚappendÚsuperÚ__init__Ú
vocab_sizeÚmax_position_embeddingsÚhidden_sizeÚintermediate_sizeÚnum_hidden_layersÚnum_attention_headsÚnum_key_value_headsÚ
hidden_actÚinitializer_rangeÚ	use_cacheÚ
rope_thetaÚrope_scalingÚattention_biasÚattention_dropoutÚrms_norm_epsÚsliding_windowÚlayer_typesÚrange)Úselfr*   r,   r-   r.   r/   r0   r1   r+   r2   r3   r   r   r    r!   r4   r5   r6   r7   r8   r9   r:   Úkwargs©Ú	__class__r
   r   r)   #   sJ   üû
þÿzOlmo3Config.__init__)r   r   r   r   r   Nr   r   r   Tr   Nr   Fr   NFr   r   r   N)r   r   r	   Ú
model_typeÚkeys_to_ignore_at_inferencer)   Ú__classcell__r
   r
   r>   r   r      s2    êr   )Ú__doc__ÚenumÚ transformers.configuration_utilsr   Útransformers.utilsr   Ú
get_loggerr   ÚloggerÚEnumr   r   r
   r
   r
   r   Ú<module>   s   
