o
    )i                  
   @   s   d dl mZ d dlmZmZ d dlZG dd deZG dd deZeG dd	 d	ZeG d
d dZ	eG dd dZ
e
g i g ddi g ddZdS )    )	dataclass)
NamedTupleOptionalNc                   @   sL   e Zd ZU eee  ed< eee  ed< ee ed< dedefddZdS )	LogprobsListslogprob_token_idslogprobssampled_token_ranksstartendc                 C   s*   t | j|| | j|| | j|| S N)r   r   r   r   )selfr	   r
    r   [/home/app/PaddleOCR-VL-test/.venv_paddleocr/lib/python3.10/site-packages/vllm/v1/outputs.pyslice   s
   zLogprobsLists.sliceN)__name__
__module____qualname__listint__annotations__floatr   r   r   r   r   r   
   s
   
 r   c                   @   sN   e Zd ZU ejed< ejed< ejed< dd Zedededd fd	d
Z	dS )LogprobsTensorsr   r   selected_token_ranksc                 C   s   t | j | j | j S r   )r   r   tolistr   r   )r   r   r   r   tolists$   s
   zLogprobsTensors.tolistsnum_positionsnum_tokens_per_positionreturnc                 C   sF   t j| |ft jdd}t j|t jd}t j| t jdd}t|||dS )z$Create empty LogprobsTensors on CPU.cpu)dtypeZdevice)r   )r   r   r   )torchemptyZint32Z
empty_likeZfloat32r   )r   r   r   r   r   r   r   r   	empty_cpu+   s   zLogprobsTensors.empty_cpuN)
r   r   r   r    Tensorr   r   staticmethodr   r"   r   r   r   r   r      s   
 


r   c                   @   s$   e Zd ZU ejed< ee ed< dS )SamplerOutputsampled_token_idsZlogprobs_tensorsN)r   r   r   r    r#   r   r   r   r   r   r   r   r%   ?   s   
 
r%   c                   @   s6   e Zd ZU dZeee  ed< dZeee  ed< dS )KVConnectorOutputNfinished_sendingfinished_recving)	r   r   r   r(   r   setstrr   r)   r   r   r   r   r'   J   s   
 r'   c                   @   s   e Zd ZU ee ed< eeef ed< eee  ed< eeee   ed< ee	 ed< eeee
 f ed< eeej  ed< dZee ed	< dZeeeef  ed
< dS )ModelRunnerOutputreq_idsreq_id_to_indexr&   spec_token_idsr   prompt_logprobs_dictpooler_outputNkv_connector_outputnum_nans_in_logits)r   r   r   r   r+   r   dictr   r   r   r   r    r#   r2   r'   r3   r   r   r   r   r,   S   s   
 r,   )r-   r.   r&   r/   r   r0   r1   r3   )dataclassesr   typingr   r   r    r   r   r%   r'   r,   ZEMPTY_MODEL_RUNNER_OUTPUTr   r   r   r   <module>   s(   $
$
