
    .`i               
       >   d dl Z  ed          Zde j        deee                  dee         ddfdZde j        deeeee                  f         deee                  ddfdZde j        deeeee                  f         deee                  d	ee         ddf
d
Z	dS )    Nz-inflogitsbad_words_token_idspast_tokens_idsreturnc                 *   |D ]}t          |          t          |          dz   k    r&t          |          dz
  }|d         }|dk    r|| d          ng }|d |         }t          |          t          |          k    sJ ||k    r
t          | |<   d S )N   r   )len_SMALLEST_LOGIT)r   r   r   bad_word_idsprefix_lengthlast_token_idactual_prefixexpected_prefixs           p/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/vllm/v1/sample/ops/bad_words.py_apply_bad_words_single_batchr   	   s    
 , 4 4|s?33a777L))A-$R(<IA<M<M88SU&~~6=!!S%9%99999O++$3F=!4 4    c                 t    |                                 D ]"\  }}t          | |         |||                    #d S )N)itemsr   )r   r   r   ibad_words_idss        r   apply_bad_wordsr      sQ    
 05577 T T=%fQiPQ@RSSSST Tr   num_draft_tokensc                    d}t          |          }t          |          D ]^\  }}|                    |          x}=t          |||z             D ]}	t	          | |	         |||	                     |dz  }|s d S ||z  }_d S )Nr   r   )r
   	enumerategetranger   )
r   r   r   r   	start_idx	remainingr   nr   	draft_idxs
             r   apply_bad_words_with_draftsr"   &   s     I'((I*++  1044Q777MD"9i!m<<  	-9%!#I.   
 NI Q		 r   )
torchfloatr   Tensorlistintr   dictr   r"    r   r   <module>r*      s+   %--4L4d3i4 #Y4 
	4 4 4 4(TLTc4S	?23T $s)_T 
	T T T TLc4S	?23 $s)_ 3i	
 
     r   