o
    ٷid                     @   s6   d dl mZmZ d dlmZmZ eG dd dZdS )    )	dataclassfield)OmniDiffusionSamplingParamsOmniPromptTypec                   @   sD   e Zd ZU dZee ed< eed< eedZ	ee
 ed< dd ZdS )	OmniDiffusionRequesta  
    Complete state passed through the pipeline execution.

    This dataclass contains the prompts and sampling parameters for the diffusion pipeline
    execution. It also contains a request_id for other components to trace this request and its outputs.
    promptssampling_params)default_factoryrequest_idsc                 C   s`   | j jdkrtdd | jD rd| j _| j jdu r | j j| j _| j jr*d| j _dS d| j _dS )z;Initialize dependent fields after dataclass initialization.g      ?c                 s   s&    | ]}t |t o|d V  qdS )negative_promptN)
isinstancestrget).0p r   O/home/ubuntu/.local/lib/python3.10/site-packages/vllm_omni/diffusion/request.py	<genexpr>    s    
z5OmniDiffusionRequest.__post_init__.<locals>.<genexpr>TN)r   guidance_scaleanyr   do_classifier_free_guidanceguidance_scale_2guidance_scale_provided)selfr   r   r   __post_init__   s   z"OmniDiffusionRequest.__post_init__N)__name__
__module____qualname____doc__listr   __annotations__r   r   r
   r   r   r   r   r   r   r   
   s   
 r   N)dataclassesr   r   vllm_omni.inputs.datar   r   r   r   r   r   r   <module>   s   