
    .`i1                        U d dl mZ d dlmZmZmZmZmZmZ d dl	m
Z
 d dlmZ ddlmZmZmZmZmZmZmZmZ erd dlZdeee         z  ee         z  eee                  z  d	ee         ee         z  fd
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fdZ!ded	e
e         fdZ"ded	e#edz  ef         fdZ$ G d de          Z%ded	e%fdZ&dS )    )Sequence)TYPE_CHECKINGLiteral
NamedTuple	TypeAlias	TypedDictcast)TypeIs)
is_list_of   )EmbedsPromptExplicitEncoderDecoderPromptProcessorInputs
PromptTypeSingletonInputsSingletonPrompt
TextPromptTokensPromptNpromptreturnc                    t          | t                    rt          |           gS t          | t                    rt	          |           dk    rt          d          t          | t                    r,t          t          t                   |           } d | D             S t          | t                    r1t          t          t                   |           } t          |           gS t          | t                    rt	          |           dk    rCt          | d         t                    r(t	          | d                   dk    rt          d          | D ]J}t          |t                    st          d          t          |t                    st          d          Kt          t          t          t                            |           } d	 | D             S t          d
          )Nr   r   z"please provide at least one promptc                 .    g | ]}t          |           S )r   )r   .0elems     e/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/vllm/inputs/parse.py
<listcomp>z%parse_raw_prompts.<locals>.<listcomp>'   s#    ???Jd+++???    prompt_token_idsr   z=prompt must be a list of lists, but found a non-list element.z2Nested lists of tokens must contain only integers.c                 .    g | ]}t          |           S )r    )r   r   s     r   r   z%parse_raw_prompts.<locals>.<listcomp>=   s#    KKKDL$777KKKr   zTprompt must be a string, array of strings, array of tokens, or array of token arrays)
isinstancestrr   listlen
ValueErrorr   r	   intr   	TypeError)r   r   s     r   parse_raw_promptsr*      s    &# +&)))**&$ Lv;;!ABBB fc"" 	@$s)V,,F?????? fc"" 	;$s)V,,F &999:: fd## 	L6{{aJvay$$?$?Cq	NNVWDWDW !EFFF  !$-- #W   "$,, #L  
 $tCy/622FKKFKKKK
	4  r   c                   0    e Zd ZU ed         ed<   eed<   dS )ParsedStrPromptr$   typecontentN)__name__
__module____qualname__r   __annotations__r$    r   r   r,   r,   E   s)         
%.LLLLLr   r,   c                   0    e Zd ZU ed         ed<   eed<   dS )ParsedTextPrompttextr-   r.   N)r/   r0   r1   r   r2   r   r3   r   r   r5   r5   J   s.         
&/r   r5   c                   0    e Zd ZU ed         ed<   eed<   dS )ParsedTokensPrompttokensr-   r.   N)r/   r0   r1   r   r2   r   r3   r   r   r8   r8   O   /         
(
r   r8   c                   0    e Zd ZU ed         ed<   eed<   dS )ParsedEmbedsPromptembedsr-   r.   N)r/   r0   r1   r   r2   r   r3   r   r   r<   r<   T   r:   r   r<   ParsedSingletonPromptc                    t          | t                    rt          d|           S t          | t                    r?d| v rt	          d|           S d| v rt          d|           S d| v rt          d|           S t          d	          )
Nr$   )r-   r.   prompt_embedsr=   r!   r9   r   r6   zBinputs must be a string, TextPrompt, TokensPrompt, or EmbedsPrompt)r#   r$   r,   dictr<   r8   r5   r)   r   s    r   parse_singleton_promptrB   ^   s    &# 
AE6::::	FD	!	! A f$$%8VDDDD6))%8VDDDD#@@@@
L  r   c                 4    t          | t                    od| v S )Nencoder_prompt)r#   rA   r   s    r   "is_explicit_encoder_decoder_promptrE   o   s     fd##B(8F(BBr   inputsc                 :    d| v rd| v r| d         | d         fS d | fS )Nencoderdecoderr3   )rF   s    r   split_enc_dec_inputsrJ   u   sA     FyF22 99
 	

 <r   c                   R    e Zd ZU dZedz  ed<   dZee         dz  ed<   dZ	ded<   dS )PromptComponentsNr6   	token_idsztorch.Tensor | Noner=   )
r/   r0   r1   r6   r$   r2   rM   r%   r(   r=   r3   r   r   rL   rL      sP         D#*"&ItCy4&&&$(F!(((((r   rL   c                 .   t          | t                    rt          |           S |                     d          x}rt	          |          S t          |                     d          |                     d          |                     d                    S )N)r6   rD   r   r!   r@   )r6   rM   r=   )r#   r$   rL   getget_prompt_components)r   rD   s     r   rP   rP      s    &# -V,,,,$4555~ 5$^444ZZ!!**/00zz/**   r   )'collections.abcr   typingr   r   r   r   r   r	   typing_extensionsr
   vllm.utils.collection_utilsr   datar   r   r   r   r   r   r   r   torchr$   r%   r(   r*   r,   r5   r8   r<   r>   r2   rB   rE   tuplerJ   rL   rP   r3   r   r   <module>rX      s   % $ $ $ $ $ $ Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q $ $ $ $ $ $ 2 2 2 2 2 2	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	  LLL)$s)Od3i'$tCy/9)jH\22) ) ) )X    i   
    y   
       
        &&);;>PP y   
? 7L    "CC()C C C C


?T!?23
 
 
 
) ) ) ) )z ) ) )* 1A      r   