
    .`i                     ~    d dl Z d dlmZ d dlmZ d dlmZ d dlmZm	Z	m
Z
  G d de
          Z G d de	          ZdS )	    N)
VllmConfig)LogitsProcessor)LlamaDecoderLayerLlamaForCausalLM
LlamaModelc                   n     e Zd Zdeddededeej                 f fdZ	de
j        de
j        fd	Z xZS )
TeleFLMModel )prefix
layer_typevllm_configr   r   c                    t                                          |||           	 | j        j        | _        | j        r| j        j        | _        d S d S )N)r   r   r   )super__init__configuse_mup
input_mult)selfr   r   r   	__class__s       v/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/vllm/model_executor/models/teleflm.pyr   zTeleFLMModel.__init__'   s[     	[JWWW	 {*< 	5"k4DOOO	5 	5    	input_idsreturnc                 R    |                      |          }| j        r
|| j        z  }|S )N)embed_tokensr   r   )r   r   	embeddings      r   embed_input_idszTeleFLMModel.embed_input_ids<   s1    %%i00	< 	4!DO3Ir   )__name__
__module____qualname__r   r   strtypennModuler   torchTensorr   __classcell__r   s   @r   r	   r	   &   s        
 &75 5 5  5 	5
 O5 5 5 5 5 5* %,        r   r	   c                   .     e Zd Zdddedef fdZ xZS )TeleFLMForCausalLMr
   )r   r   r   c                $   t                                          ||           | j        j        | _        | j        rS| j        j        | _        | j        j        | j        z  | _        | j        }t          | j        j        |          | _        d S d S )N)r   r   )scale)	r   r   r   r   mup_scale_factoroutput_multr   
vocab_sizelogits_processor)r   r   r   logit_scaler   s       r   r   zTeleFLMForCausalLM.__init__D   s    [@@@{*< 	$(K$@D!#{69NND*K$3&k% % %D!!!		 	r   )r   r   r    r   r!   r   r'   r(   s   @r   r*   r*   C   sX        AC 
 
 
z 
3 
 
 
 
 
 
 
 
 
 
r   r*   )r%   torch.nnr#   vllm.configr   +vllm.model_executor.layers.logits_processorr    vllm.model_executor.models.llamar   r   r   r	   r*    r   r   <module>r7      s   4        " " " " " " G G G G G G             :   :    )     r   