
    .`i                         d dl Zd dlZd dlmZ d dlmZ dZ ej        ej	                  j
        Z ej        ej	                  j        Z G d d          ZdS )    N)SamplingParams)UvaBackedTensorc                       e Zd ZdedefdZdededdfdZdd	Zd
ej	        de
fdZd
ej	        de
fdZd
ej	        de
fdZd
ej	        defdZdS )SamplingStatesmax_num_reqs
vocab_sizec                    || _         || _        t          |t          j                  | _        t          |t          j                  | _        t          |t          j                  | _        t          |t          j                  | _	        t          |t          j
                  | _        | j        j                            | j                   | j                                         | j        j                            d           | j                                         t          j        | j         t          j                  | _        | j                            t"                     d S )N)dtype      ?)r   r	   r   torchfloat32temperatureint32top_ktop_pmin_pint64seedsnpfillcopy_to_uvaemptynum_logprobsNO_LOGPROBS)selfr   r	   s      t/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/vllm/v1/worker/gpu/sample/states.py__init__zSamplingStates.__init__   s   ($*<u}MMM$\EEE
$\GGG
$\GGG
$\EEE
 	
4?+++
   
3
   HT%6bhGGG{+++++    req_idxsampling_paramsreturnNc                    |j         | j         j        |<   |j        | j        j        |<   d|j        cxk     r| j        k     rn n|j        }n| j        }|| j        j        |<   |j        | j        j        |<   |j        |j        }n*t          j                            t          t                    }|| j        j        |<   |j        |j        }nt          }|| j        |<   d S )Nr   )r   r   r   r   r	   r   seedrandomrandint_NP_INT64_MIN_NP_INT64_MAXr   logprobsr   r   )r   r    r!   r   r$   r   s         r   add_requestzSamplingStates.add_request#   s    '6'BG$!0!6
g$6666t66666#)EEOE!&
g!0!6
g+"'DD9$$]MBBD!%
g#/*3LL&L%1'"""r   c                     | j                                          | j                                         | j                                         | j                                         | j                                         d S N)r   r   r   r   r   r   )r   s    r   apply_staged_writesz"SamplingStates.apply_staged_writes9   sm    $$&&&
   
   
   
     r   idx_mapping_npc                 R    t          j        | j        j         |         dk              S )Ng        )r   anyr   r   r.   s     r   do_min_pzSamplingStates.do_min_p@        vdjmN3s:;;;r   c                 \    t          j        | j        j         |         | j        k              S r,   )r   r0   r   r	   r1   s     r   do_top_kzSamplingStates.do_top_kC   s"    vdjmN3tFGGGr   c                 R    t          j        | j        j         |         dk              S )Nr   )r   r0   r   r1   s     r   do_top_pzSamplingStates.do_top_pF   r3   r   c                 Z    t          t          j        | j        |                             S r,   )intr   maxr   r1   s     r   max_num_logprobszSamplingStates.max_num_logprobsI   s"    26$+N;<<===r   )r"   N)__name__
__module____qualname__r9   r   r   r*   r-   r   ndarrayboolr2   r5   r7   r;    r   r   r   r      s	       ,S ,c , , , ,(23 2 2D 2 2 2 2,! ! ! !<rz <d < < < <Hrz Hd H H H H<rz <d < < < <>rz >c > > > > > >r   r   )numpyr   r   vllm.sampling_paramsr   vllm.v1.worker.gpu.buffer_utilsr   r   iinfor   minr'   r:   r(   r   rA   r   r   <module>rG      s         / / / / / / ; ; ; ; ; ;""&""&<> <> <> <> <> <> <> <> <> <>r   