o
    Ti	                     @   sX   d dl mZ ddlmZ ddlmZmZ ddlmZm	Z	 ddl
mZ G d	d
 d
eZdS )    )Any   )RaggedInferenceEngineConfig   )ContainerMapInferenceV2Policy   )Phi3NonTransformerContainerPhi3TransformerContainer)Phi3InferenceModelc                   @   s0   e Zd ZdededefddZdefddZdS )	
Phi3Policyengine_configmp_groupreturnc                 C   s   t | j||dS )N)configr   base_mp_group)r   _model_config)selfr   r    r   l/home/ubuntu/.local/lib/python3.10/site-packages/deepspeed/inference/v2/model_implementations/phi3/policy.pyinstantiate_model   s   zPhi3Policy.instantiate_modelc                    sL   t  } fddt jjD }|dg| |t j |g  |S )Nc                    s   g | ]}t  jqS r   )r
   model).0_r   r   r   
<listcomp>   s    z2Phi3Policy.build_container_map.<locals>.<listcomp>zmodel.layers)r   ranger   
num_layersset_transformer_paramsset_non_transformer_paramsr	   set_unmapped_params)r   maptransformer_containersr   r   r   build_container_map   s   
zPhi3Policy.build_container_mapN)	__name__
__module____qualname__r   r   r   r   r   r#   r   r   r   r   r      s    r   N)typingr   	config_v2r   inference_policy_baser   r   
containersr	   r
   r   r   r   r   r   r   r   <module>   s   