o
    پi.
                  	   @   s   d dl mZ d dlmZ d dlmZ d dlmZmZ d dl	m
Z
 d dlmZ eeZ					
ddedededefddZdede
fddZG dd deeZeZdS )    )LoRAPipeline)ComposedPipelineBase)Req)InputValidationStageTextEncodingStage)
ServerArgs)init_logger            ?ffffff?base_seq_lenmax_seq_len
base_shift	max_shiftc                 C   s,   || ||  }|||  }| | | }|S )N )image_seq_lenr   r   r   r   mbmur   r   `/home/ubuntu/.local/lib/python3.10/site-packages/sglang/multimodal_gen/runtime/pipelines/flux.pycalculate_shift   s   r   batchserver_argsc                 C   sH   | j }| j}|jjjj}t|| t||  }t|dddd}d|fS )Nr	   r
   r   r   r   )heightwidthpipeline_config
vae_configarch_configvae_scale_factorintr   )r   r   r   r   r   r   r   r   r   r   
prepare_mu#   s   
r!   c                   @   s&   e Zd Zd Zg dZdefddZdS )FluxPipeline)text_encodertext_encoder_2	tokenizertokenizer_2vaetransformer	schedulerr   c                 C   sj   |  t  |  t| d| dg| d| dgdd | jtgd |   |   |   d S )Nr#   r$   r%   r&   )text_encoders
tokenizersprompt_encoding_stage_primary)prepare_extra_kwargs)		add_stager   r   
get_module'add_standard_timestep_preparation_stager!   %add_standard_latent_preparation_stageadd_standard_denoising_stageadd_standard_decoding_stage)selfr   r   r   r   create_pipeline_stagesC   s    
z#FluxPipeline.create_pipeline_stagesN)__name__
__module____qualname__pipeline_name_required_config_modulesr   r5   r   r   r   r   r"   6   s    
r"   N)r	   r
   r   r   ),sglang.multimodal_gen.runtime.pipelines_corer   Csglang.multimodal_gen.runtime.pipelines_core.composed_pipeline_baser   ;sglang.multimodal_gen.runtime.pipelines_core.schedule_batchr   3sglang.multimodal_gen.runtime.pipelines_core.stagesr   r   )sglang.multimodal_gen.runtime.server_argsr   1sglang.multimodal_gen.runtime.utils.logging_utilsr   r6   loggerr    floatr   r!   r"   
EntryClassr   r   r   r   <module>   s.   
$