
    .`i                     >    d dl Z d dlmZmZmZ  G d de          ZdS )    N)
AutoConfigDeepseekV2ConfigPretrainedConfigc                        e Zd ZdZ	 	 	 ddeez  dz  dedz  dedz  f fdZe	dee
j        z  dd fd	            Zddedef fdZ xZS )EAGLEConfigeagleNmodeltruncated_vocab_sizemethodc                    t          |t                    rt          j        di |}n|}|                                D ]2\  }}|dk    r'|dk    r!t          ||          rt          |||           3|| _        | j        d | _        n|| j        j	        n|| _        |dk    r+| j        
J d            d | j        j
        D             |d<   nD|dk    r+| j        
J d            d | j        j
        D             |d<   nt          d	| d
           t                      j        di | | j        F| j                                                                        D ]\  }}||vrt          | ||           d S d S )Narchitectures
model_typer   z-model should not be None when method is eaglec                 F    g | ]}|                     d           sd | n|S )Eagle)
startswith.0archs     y/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/vllm/transformers_utils/configs/eagle.py
<listcomp>z(EAGLEConfig.__init__.<locals>.<listcomp>0   sC     ' ' ' '+oog&>&>HD' ' '    eagle3z.model should not be None when method is eagle3c                 p    g | ]3}|                     d           s|                    d           r|nd | 4S )Eagle3)r   endswithr   s     r   r   z(EAGLEConfig.__init__.<locals>.<listcomp>9   s\     ' ' '  ??8,,%04h0G0G%$d__' ' 'r   zInvalid method z). Supported methods are eagle and eagle3. )
isinstancedictr   	for_modelitemshasattrsetattrr	   r
   
vocab_sizer   
ValueErrorsuper__init__to_dict)	selfr	   r
   r   kwargsmodel_configkv	__class__s	           r   r&   zEAGLEConfig.__init__   s	    eT"" 	!%/88%88LL LLLNN 	, 	,DAqO##\(9(9glTU>V>V(9a+++!
:(,D%% (/ 
%%) % W:))? *))' ' J4' ' 'F?##
 x:))@ *))' ' !J4	' ' 'F?## S&SSS   	""6""":!
**,,2244 ( (1F??D!Q''' "!( (r   pretrained_model_name_or_pathreturnc                 @     | j         |fi |\  }} | j        |fi |S )N)get_config_dict	from_dict)clsr.   r)   config_dicts       r   from_pretrainedzEAGLEConfig.from_pretrainedK   sI     2c1)
 
-3
 
V s}[33F333r   Tuse_diffc                 J    ~t                                          d          S )NF)r6   )r%   to_json_string)r(   r6   r-   s     r   r8   zEAGLEConfig.to_json_stringV   s#     ww%%u%555r   )NNr   )T)__name__
__module____qualname__r   r   r   intstrr&   classmethodosPathLiker5   boolr8   __classcell__)r-   s   @r   r   r   	   s        J 15+/$	=( =($&-=( "Dj=( d
	=( =( =( =( =( =(~ 4'*R['84 
	4 4 4 [46 6t 6s 6 6 6 6 6 6 6 6 6 6r   r   )r?   transformersr   r   r   r   r   r   r   <module>rD      sm    
			 G G G G G G G G G GQ6 Q6 Q6 Q6 Q6" Q6 Q6 Q6 Q6 Q6r   