
    .`i,                        U d dl mZ d dlmZmZmZmZmZmZ d dl	Z	d dl
mZmZmZmZ erd dlmZmZmZ neZeZeZ G d de          Z G d d	e          Z G d
 de          Z G d de          Zeez  ez  ez  Zeed<   	 dedee         fdZdedee         fdZ edeed          Z edeed          Z G d deeeef                   Zeez  Z eed<   	  G d de          Z!	 d4de"e#         dedz  de!fdZ$ G d d e          Z%	 d4d!e	j&        dedz  de%fd"Z'e!e%z  ez  Z(eed#<   	  G d$ d%e          Z)e!e%z  ez  Z*eed&<   	 e(e)z  Z+eed'<   	  ed(ee)          Z, ed*ee)          Z-	 d4d+e,d,e-dz  d-e.eef         dz  dee,e-f         fd.Z/	 d4d/ee,         d0ee-dz           d-ee.eef                  e.eef         z  dz  de"ee,e-f                  fd1Z0d2eee,e-f                  de"e1e,e-dz  f                  fd3Z2dS )5    )Iterable)TYPE_CHECKINGAnyGenericLiteral	TypeAliascastN)NotRequired	TypedDictTypeIsTypeVar)MultiModalDataDictMultiModalInputsMultiModalUUIDDictc                       e Zd ZU dZeed<   	 eedz           ed<   	 eeee	f         dz           ed<   	 ee
         ed<   	 ee         ed<   dS )
TextPromptzSchema for a text prompt.promptNmulti_modal_datamm_processor_kwargsmulti_modal_uuids
cache_salt)__name__
__module____qualname____doc__str__annotations__r
   r   dictr   r        d/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/vllm/inputs/data.pyr   r      s         ##KKKE!"4t";<<<<
 %T#s(^d%:;;;; ##56666 C     r    r   c                       e Zd ZU dZee         ed<   	 ee         ed<   	 eee                  ed<   	 ee	dz           ed<   	 ee
eef         dz           ed<   	 ee         ed<   	 ee         ed	<   dS )
TokensPromptzSchema for a tokenized prompt.prompt_token_idsr   token_type_idsNr   r   r   r   )r   r   r   r   listintr   r
   r   r   r   r   r   r   r    r!   r#   r#   8   s         ((3i3GS	****F!"4t";<<<<
 %T#s(^d%:;;;; ##56666 C     r    r#   c                   @    e Zd ZU dZej        ed<   	 ee         ed<   dS )EmbedsPromptz2Schema for a prompt provided via token embeddings.prompt_embedsr   N)	r   r   r   r   torchTensorr   r
   r   r   r    r!   r)   r)   `   s>         <<<'C     r    r)   c                   *    e Zd ZU dZeed<   	 eed<   dS )
DataPromptz:Represents generic inputs handled by IO processor plugins.datadata_formatN)r   r   r   r   r   r   r   r   r    r!   r.   r.   l   s0         DD
IIIr    r.   SingletonPromptr   returnc                 <    t          | t                    od| v od| vS Nr$   r*   
isinstancer   r   s    r!   is_tokens_promptr8      s.    64   	*&(	*6)r    c                 <    t          | t                    od| vod| v S r4   r5   r7   s    r!   is_embeds_promptr:      s.    64   	&f,	&v%r    _T1_coT)bounddefault	covariant_T2_coc                   T    e Zd ZU dZeed<   edz  ed<   eee	e
f                  ed<   dS )ExplicitEncoderDecoderPromptaw  
    Represents an encoder/decoder model input prompt,
    comprising an explicit encoder prompt and a decoder prompt.

    The encoder and decoder prompts, respectively, may be formatted
    according to any of the
    [`SingletonPrompt`][vllm.inputs.data.SingletonPrompt] schemas,
    and are not required to have the same schema.

    Only the encoder prompt may have multi-modal data. mm_processor_kwargs
    should be at the top-level, and should not be set in the encoder/decoder
    prompts, since they are agnostic to the encoder/decoder.

    Note that an
    [`ExplicitEncoderDecoderPrompt`][vllm.inputs.data.ExplicitEncoderDecoderPrompt]
    may not be used as an input to a decoder-only model,
    and that the `encoder_prompt` and `decoder_prompt`
    fields of this data structure themselves must be
    [`SingletonPrompt`][vllm.inputs.data.SingletonPrompt] instances.
    encoder_promptNdecoder_promptr   )r   r   r   r   r;   r   r?   r
   r   r   r   r   r    r!   rA   rA      sS          * TM!!!$T#s(^444444r    rA   
PromptTypec                   Z    e Zd ZU dZed         ed<   	 ee         ed<   	 ee	         ed<   dS )TokenInputszRepresents token-based inputs.tokentyper$   r   N)
r   r   r   r   r   r   r&   r'   r
   r   r   r    r!   rF   rF      sT         ((
'
3i&C     r    rF   r$   r   c                 6    t          d|           }|||d<   |S )zQConstruct [`TokenInputs`][vllm.inputs.data.TokenInputs] from optional
    values.rG   )rH   r$   Nr   )rF   )r$   r   inputss      r!   token_inputsrK      s,     g8HIIIF)|Mr    c                   X    e Zd ZU dZed         ed<   	 ej        ed<   	 ee	         ed<   dS )EmbedsInputsz#Represents embeddings-based inputs.embedsrH   r*   r   N)
r   r   r   r   r   r   r+   r,   r
   r   r   r    r!   rM   rM      sR         --
(
<'C     r    rM   r*   c                 6    t          d|           }|||d<   |S )zSConstruct [`EmbedsInputs`][vllm.inputs.data.EmbedsInputs] from optional
    values.rN   )rH   r*   Nr   )rM   )r*   r   rJ   s      r!   embeds_inputsrP      s+     x}EEEF)|Mr    DecoderOnlyInputsc                   6    e Zd ZU dZeez  ed<   	 eez  ed<   dS )EncoderDecoderInputsz
    The inputs in [`LLMEngine`][vllm.engine.llm_engine.LLMEngine] before they
    are passed to the model executor.

    This specifies the required data for encoder-decoder models.
    encoderdecoderN)r   r   r   r   rF   r   r   r   r    r!   rS   rS     sE           +++++-+++++--r    rS   SingletonInputsProcessorInputs_T1)r<   r=   _T2rB   rC   r   c                 .    |i }t          | ||          S )NrB   rC   r   )rA   r[   s      r!   build_explicit_enc_dec_promptr\   2  s0    
 " '%%/   r    enc_promptsdec_promptsc                     't          t          t          t          f         i           t	          t                    rfdt          | |          D             S d t          | |          D             S )a  
    Zip encoder and decoder prompts together into a list of
    [`ExplicitEncoderDecoderPrompt`][vllm.inputs.data.ExplicitEncoderDecoderPrompt]
    instances.

    `mm_processor_kwargs` may also be provided; if a dict is passed, the same
    dictionary will be used for every encoder/decoder prompt. If an iterable is
    provided, it will be zipped with the encoder/decoder prompts.
    Nc                     g | ];\  }}t          ||t          t          t          t          f                             <S r   )r\   r	   r   r   r   ).0rB   rC   r   s      r!   
<listcomp>z'zip_enc_dec_prompts.<locals>.<listcomp>Q  sU     
 
 
 1 *T#s(^%899 
 
 
r    c                 8    g | ]\  }}}t          |||          S r   )r\   )ra   rB   rC   mm_proc_kwargss       r!   rb   z'zip_enc_dec_prompts.<locals>.<listcomp>Y  s:       <^^^ 	&nnnUU  r    )r	   r   r   r   r6   zip)r]   r^   r   s     `r!   zip_enc_dec_promptsrf   @  s     ""4S>266%t,, 

 
 
 
 58[4Q4Q
 
 
 	
 @C&9A
 A
   r    enc_dec_promptsc                     d | D             S )Nc                 .    g | ]}|d          |d         fS )rB   rC   r   )ra   enc_dec_prompts     r!   rb   z)to_enc_dec_tuple_list.<locals>.<listcomp>d  s9        
(	)>:J+KL  r    r   )rg   s    r!   to_enc_dec_tuple_listrk   a  s#     -   r    )N)3collections.abcr   typingr   r   r   r   r   r	   r+   typing_extensionsr
   r   r   r   vllm.multimodal.inputsr   r   r   objectr   r#   r)   r.   r   r1   r   r8   r:   r;   r?   rA   rD   rF   r&   r'   rK   rM   r,   rP   rQ   rS   rV   rW   rX   rY   r   r\   rf   tuplerk   r   r    r!   <module>rr      s5   % $ $ $ $ $ $ H H H H H H H H H H H H H H H H  E E E E E E E E E E E E 	                            F% % % % %9 % % %P	 	 	 	 	9 	 	 	                !:-<|K K K K0_ 1E    _ 1E     
O_
 
 
 
O_
 
 
5 5 5 5 59gffn.E 5 5 5: (*FF
I F F F	    )   " " 3id
        9   " " <d
      +\9<LL 9 L L L. . . . .9 . . . )<7:JJ J J J
 /1EE E E E ge?ODDDge?ODDD 26 $J c3h$. "#s(+	   " MQ ##*% "$sCx.1DcNBTI 

&sCx
01	   B:38DE	%S4Z
 !     r    