
    .`i
                         d dl mZmZ d dlmZmZ d dlmZmZm	Z	 d dl
mZ d dlmZ d dlmZ d dlmZ d dlmZ d d	lmZ  e	d
          Z e	d          Z G d deeeef                   ZdS )    )ABCabstractmethod)AsyncGeneratorSequence)AnyGenericTypeVar)
VllmConfig)IOProcessorResponse)
PromptType)PoolingRequestOutputPoolingParams)SamplingParamsIOProcessorInputIOProcessorOutputc            
       d   e Zd ZdefdZe	 ddededz  dee	e         z  fd            Z
	 ddededz  dee	e         z  fdZe	 dd	e	e         dedz  defd
            Z	 dd	eeeef                  dedz  defdZededefd            Z	 ddeez  dz  deez  fdZededefd            ZdS )IOProcessorvllm_configc                     || _         d S N)r   )selfr   s     x/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/vllm/plugins/io_processors/interface.py__init__zIOProcessor.__init__   s    &    Nprompt
request_idreturnc                     t           r   NotImplementedErrorr   r   r   kwargss       r   pre_processzIOProcessor.pre_process   
     "!r   c                 $   K    | j         ||fi |S r   )r$   r"   s       r   pre_process_asynczIOProcessor.pre_process_async    s%        t
==f===r   model_outputc                     t           r   r    )r   r(   r   r#   s       r   post_processzIOProcessor.post_process(   r%   r   c                    K   t          d |2              d {V d           }d |D             } | j        ||fi |S )Nc                 ,   K   g | 3 d {V \  }}||f6 S r    ).0iitems      r   
<listcomp>z2IOProcessor.post_process_async.<locals>.<listcomp>;   s6      99999999DaY9999s   c                     | d         S )Nr   r-   )outputs    r   <lambda>z0IOProcessor.post_process_async.<locals>.<lambda>;   s    fUVi r   )keyc                     g | ]
}|d          S )   r-   )r.   r3   s     r   r1   z2IOProcessor.post_process_async.<locals>.<listcomp>=   s    BBB&F1IBBBr   )sortedr*   )r   r(   r   r#   sorted_outputcollected_outputs         r   post_process_asynczIOProcessor.post_process_async1   sz       99L999999999?W?W
 
 
 CBMBBB t !1:HHHHHr   requestc                     t           r   r    )r   r<   s     r   parse_requestzIOProcessor.parse_request@   s    !!r   paramsc                 "    |pt                      S r   r   )r   r?   s     r   validate_or_generate_paramsz'IOProcessor.validate_or_generate_paramsD   s     ((r   plugin_outputc                     t           r   r    )r   rB   s     r   output_to_responsezIOProcessor.output_to_responseI   s
     "!r   r   )__name__
__module____qualname__r
   r   r   r   strr   r   r$   r'   r   r   r*   r   tupleintr;   r   r>   r   r   rA   r   rD   r-   r   r   r   r      s       'J ' ' ' '  "&" " " $J"
 
hz*	*" " " ^" "&> > > $J>
 
hz*	*> > > >  "&" "34" $J"
 
" " " ^" "&I I$U30D+D%EFI $JI
 
I I I I "S "-= " " " ^" ?C) )$}4t;)	-	') ) ) )
 "."	" " " ^" " "r   r   N)abcr   r   collections.abcr   r   typingr   r   r	   vllm.configr
   )vllm.entrypoints.pooling.pooling.protocolr   vllm.inputs.datar   vllm.outputsr   vllm.pooling_paramsr   vllm.sampling_paramsr   r   r   r   r-   r   r   <module>rT      s%   $ # # # # # # # 4 4 4 4 4 4 4 4 ( ( ( ( ( ( ( ( ( ( " " " " " " I I I I I I ' ' ' ' ' ' - - - - - - - - - - - - / / / / / /7-.. G/00 :" :" :" :" :"#w/1BBC :" :" :" :" :"r   