
    .`i                     8   d dl mZmZ 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Zd dlmZ erd dlmZ  G d	 d
e          ZeZeeeee         dz  ee         f         Zeeeef         Z ed           G d d                      Z G d de          ZdS )    )ABCabstractmethod)Sequence)	dataclass)Enumauto)TYPE_CHECKINGOptionalN)SamplingParams)
VllmConfigc                   6    e Zd Z e            Z e            ZdS )MoveDirectionalityN)__name__
__module____qualname__r   UNIDIRECTIONALSWAP     }/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/vllm/v1/sample/logits_processor/interface.pyr   r      s$        TVVN466DDDr   r   T)frozenc                   `    e Zd ZU dZeed<   ee         ed<   ee         ed<   ee	         ed<   dS )BatchUpdatez2Persistent batch state change info for logitsprocs
batch_sizeremovedaddedmovedN)
r   r   r   __doc__int__annotations__r   RemovedRequestAddedRequestMovedRequestr   r   r   r   r   $   sV         <<OOO n%%%%L!!!!L!!!!!!r   r   c            	           e Zd Zedefd            Zedddej        de	ddfd	            Z
ed
ej        dej        fd            Zede	fd            Zeded         ddfd            ZdS )LogitsProcessorsampling_paramsc                     dS )zhValidate sampling params for this logits processor.

        Raise ValueError for invalid ones.
        Nr   )clsr&   s     r   validate_paramszLogitsProcessor.validate_params=   s	     tr   vllm_configr   deviceis_pin_memoryreturnNc                     t           )NNotImplementedError)selfr*   r+   r,   s       r   __init__zLogitsProcessor.__init__E   s
     "!r   logitsc                     t           )zApply LogitsProcessor to batch logits tensor.

        The updated tensor must be returned but may be
        modified in-place.
        r/   )r1   r3   s     r   applyzLogitsProcessor.applyK   s
     "!r   c                     t           )a  True if logits processor has no impact on the
        argmax computation in greedy sampling.
        NOTE: may or may not have the same value for all
        instances of a given LogitsProcessor subclass,
        depending on subclass implementation.
        r/   )r1   s    r   is_argmax_invariantz#LogitsProcessor.is_argmax_invariantT   s
     "!r   batch_updater   c                     t           )zCalled when there are new output tokens, prior
        to each forward pass.

        Args:
            batch_update: Non-None iff there have been changes
                to the batch makeup.
        r/   )r1   r8   s     r   update_statezLogitsProcessor.update_state^   s
     "!r   )r   r   r   classmethodr   r)   r   torchr+   boolr2   Tensorr5   r7   r
   r:   r   r   r   r%   r%   <   s       n    [ "'"16"NR"	" " " ^"
 "EL "U\ " " " ^" "T " " " ^" "}-" 
" " " ^" " "r   r%   )abcr   r   collections.abcr   dataclassesr   enumr   r   typingr	   r
   r<   vllmr   vllm.configr   r   r   r!   tuplelistr"   r#   r   r%   r   r   r   <module>rH      s   $ # # # # # # # $ $ $ $ $ $ ! ! ! ! ! !         * * * * * * * *        '&&&&&&         S.$s)d*:DIEF S#112 $" " " " " " " ".." ." ." ." ."c ." ." ." ." ."r   