
    .`i                         d dl Z d dlmZ d dlmZ d dlmZ de j        de j        de j        de j        d	e j        d
eee	                  de j        fdZ
d
eee	                  de	de j        de j        fdZdS )    N)apply_penalties)is_pin_memory_available)make_tensor_with_padlogitsprompt_token_idspresence_penaltiesfrequency_penaltiesrepetition_penaltiesoutput_token_idsreturnc                     | j         \  }}t          ||| j                  }|                    |dk    |           t	          | |||||          S )zM
    Applies presence, frequency and repetition penalties to the logits.
    )shape_convert_to_tensorsdevicemasked_fill_r   )	r   r   r   r	   r
   r   _
vocab_sizeoutput_tokens_ts	            p/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/vllm/v1/sample/ops/penalties.pyapply_all_penaltiesr      sd     LMAz)*:JVVO   B!6
CCC      r   r   c                     t          | |dt          j        t                                }|                    |d          S )z@
    Convert the different list data structures to tensors.
    cpu)padr   dtype
pin_memoryT)non_blocking)r   torchint64r   to)r   r   r   output_tokens_tensors       r   r   r   *   sM     0 k*,,    ""6"===r   )r    vllm.model_executor.layers.utilsr   vllm.utils.platform_utilsr   vllm.utils.torch_utilsr   Tensorlistintr   r   r    r   r   <module>r*      s     < < < < < < = = = = = = 7 7 7 7 7 7Ll  	
  , 49o \   >>49o>36>@E>
\> > > > > >r   