o
    ٷiP                     @  sT   d dl mZ d dlmZmZmZmZ d dlZddlm	Z	m
Z
 dd
dZdddZdS )    )annotations)AnyDictListOptionalN   )DBCacheConfigParamsModifier
model_path
str | NonereturnOptional[List[object]]c                 C  s   |d u rd S |p	d  }| d ur| jjdkpd|v }|s:d|v }|s$d S tt jddddtt jd	d
ddgS t|dd}tt j|ddtt j|d ddgS )N Flux2Pipelinezflux.2zwan2.2      )max_warmup_stepsmax_cached_steps)cache_configr      residual_diff_thresholdgQ?)r      )lower	__class____name__r	   r   resetgetattr)piper
   cache_config_objmodel_path_loweris_flux2
is_wan_2_2rdt r#   S/home/ubuntu/.local/lib/python3.10/site-packages/cache_dit/serve/cache_alignment.pyget_default_params_modifiers	   sF   r%   strbase_cache_configOptional[Dict[str, Any]]c           	   
   C  sT  |d u rd S | p	d  }t|}d|v pd|v pd|v }|rTt|dd d u r(dn|j}|dvr3td|d	d	|d
kr=d
nd|d
krDdnddd|d
krMdndd |S d|v r^|dd d|v r|d urtt|	ddd
|d< t|dd d u r}dn|j}d }t|dd d urt
j|j|d}nt|ddrt
jg dddgd}||d< |S )Nr   zqwen-image-lightningzqwen-image-edit-2511-lightningzqwen-image-edit-2509-lightningnum_inference_stepsr   )r   r   z0Qwen-Image Lightning only supports 4 or 8 steps.   r   r      Fg      ?g?)Fn_compute_blocksBn_compute_blocksr   r   max_continuous_cached_stepsenable_separate_cfgr   zqwen-image-layeredr/   zz-image-turbor   	   mask_policy)r1   total_steps
steps_mask)   r+   r+   )compute_bins
cache_binssteps_computation_mask)r   dictr   r)   
ValueErrorupdate
setdefaultminintget	cache_ditr3   r1   )	r
   argsr'   r   r   is_qwen_lightningstepsr2   r7   r#   r#   r$   align_cache_config:   s^   rC   )r
   r   r   r   )r
   r&   r'   r(   r   r(   )
__future__r   typingr   r   r   r   r?   r   r   r	   r%   rC   r#   r#   r#   r$   <module>   s    
1