o
    )i                     @   sJ  U d dl Z d dlZd dlZd dlZd dlmZmZmZmZ erdZ	e
ed< dZee ed< e Ze
ed< dZeed< d	Zeed
< dZee
 ed< dZee
 ed< dZeed< dZeed< dZeed< dZee ed< d Zeed< dZee
 ed< d	Zeed< dZee
 ed< dZee
 ed< dZee
 ed< dZee
 ed< dZ ee
 ed< ej!"dZ#e
ed< ej!"dZ$e
ed< dZ%e
ed< dZ&eed < dZ'eed!< dZ(e
ed"< d#Z)eed$< d%Z*e
ed&< dZ+e
ed'< dZ,ee
 ed(< dZ-ee ed)< d*Z.e/ed+< d Z0eed,< dZ1ee
 ed-< dZ2ee ed.< dZ3eed/< dZ4ee
 ed0< d Z5ee ed1< dZ6e
ed2< dZ7ee ed3< dZ8eed4< dZ9eed5< ej!:e#d6Z;e
ed7< dZ<eed8< d9Z=eed:< dZ>eed;< dZ?eed<< dZ@eed=< d>ZAe
ed?< dZBeed@< dZCeedA< dZDeedB< dCZEe
edD< ej!:e#dEZFe
edF< dGZGeedH< dIZHeedJ< dKZIeedL< dMZJeedN< dOZKeedP< dQZLe
edR< dSZMeedT< dUZNe
edV< dZOee
 edW< dZPee
 edX< dZQeedY< dZReedZ< dZSeed[< dZTeed\< dZUee
 ed]< dZVeed^< dZWeed_< d`ZXeeda< dGZYeedb< dZZee[e
  edc< dZ\ee
 edd< dZ]ee
 ede< dZ^eedf< dZ_eedg< dZ`eedh< dZaeedi< dZbeedj< dZceedk< dZdeedl< g Zee[e
 edm< dZfeedn< dZgeedo< dZheedp< dZieedq< dZjeedr< dZkeeds< dZleedt< dZmeedu< dZneedv< dZoeedw< dZpeedx< dZqeedy< dZreedz< d{Zse/ed|< dZteed}< d~Zueed< d~Zveed< dZweed< dZxeed< dZyeed< dZzeed< dZ{e/ed< dZ|e
ed< dZ}ee
 ed< d Z~eed< d{Zeed< d#Zeed< dZe
ed< d Zeed< dZeed< dZeed< dZeed< dZee ed< dZeed< dZeed< d Zeed< dZee ed< dZeed< dZeed< dZeed< dZeed< dZeed< dZeed< dZe
ed< d Zeed< dZeed< dZeed< dZe
ed< dZeed< dZe
ed< dZeed< d#Zeed< dZeed< dZeed< dZeed< dZee
 ed< dZeed< dZeed< dZe
ed< dZeed< dZee ed< dZeed< dZeed< dZeed< dZe
ed< dZeed< dZeed< dZee
 ed< dZeed< dZeed< dZee
 ed< ddń ZddǄ Zdee
 dee fdd˄Zdee
 dee fdd̈́Zdee fddτZi dVddф dWddф dXddф dYddф dZddф d[ddф d]ddф d^ddф dddф dddф dddф dedddф dddф d
ddф dddф dddф i dddф dddф dddф dddф dddф dddф dddф dddф dddф dddф dddф dddф dddф dddф dddф dddф d ddф i d!ddф d"ddф d$ddф d(ddф d&ddф d'ddф d)ddф d+ddф d,ddф d-ddф d.d dф d/ddф d0ddф d1ddф d2ddф d3ddф d4ddф i d5ddф d<ddф d=d	dф d?d
dф d@ddф dAddф dDddф dFddф dHddф dJddф dLddф dNddф dPddф dRddф dTddф d7ddф d8ddф i dBddф d:ddф d;ddф d\ddф d_ddф dddф dd dф dad!dф dbd"dф dcd#dф ddd$dф ded%dф dfd&dф dgd'dф dhd(dф did)dф djd*dф i dkd+dф dld,dф dmd-dф dnd.dф dod/dф dpd0dф dqd1dф drd2dф dsd3dф dtd4dф dud5dф dvd6dф dwd7dф dxd8dф dyd9dф dd:dф dd;dф i dd<dф dd=dф dd>dф dd?dф dzd@dф d|dAdф d}dBdф ddCdф ddDdф ddEdф ddFdф ddGdф ddHdф ddIdф ddJdф ddKdф ddLdф i ddMdф ddNdф ddOdф dPdQdф ddRdф ddSdф ddTdф ddUdф ddVdф ddWdф ddXdф ddYdф ddZdф dd[dф dd\dф dd]dф dd^dф i dd_dф dd`dф ddadф ddbdф ddcdф ddddф ddedф ddfdф ddgdф ddhdф didjdф ddkdф ddldф ddmdф ddndф ddodф ddpdф dqdф drdф dsdф dtdф dudф dvdф dwdф dxdф dydф dzdф d{dф d|Zee
eg ef f ed}< d~e
fddZdd Zd~e
fddZdefddZde
fddZdS (      N)TYPE_CHECKINGAnyCallableOptional VLLM_HOST_IP	VLLM_PORTVLLM_RPC_BASE_PATHFVLLM_USE_MODELSCOPE<    VLLM_RINGBUFFER_WARNING_INTERVALVLLM_NCCL_SO_PATHLD_LIBRARY_PATHTVLLM_USE_TRITON_FLASH_ATTN$VLLM_V1_USE_PREFILL_DECODE_ATTENTION VLLM_USE_AITER_UNIFIED_ATTENTIONVLLM_FLASH_ATTN_VERSION
LOCAL_RANKCUDA_VISIBLE_DEVICESVLLM_ENGINE_ITERATION_TIMEOUT_SVLLM_API_KEYS3_ACCESS_KEY_IDS3_SECRET_ACCESS_KEYS3_ENDPOINT_URLVLLM_MODEL_REDIRECT_PATHz~/.cache/vllmVLLM_CACHE_ROOTz~/.config/vllmVLLM_CONFIG_ROOThttps://stats.vllm.aiVLLM_USAGE_STATS_SERVERVLLM_NO_USAGE_STATSVLLM_DO_NOT_TRACKVLLM_USAGE_SOURCE   VLLM_CONFIGURE_LOGGINGINFOVLLM_LOGGING_LEVELVLLM_LOGGING_PREFIXVLLM_LOGGING_CONFIG_PATHVLLM_LOGITS_PROCESSOR_THREADS      $@VLLM_LOG_STATS_INTERVALVLLM_TRACE_FUNCTIONVLLM_ATTENTION_BACKENDVLLM_USE_FLASHINFER_SAMPLER"VLLM_FLASHINFER_FORCE_TENSOR_CORESVLLM_PP_LAYER_PARTITIONVLLM_CPU_KVCACHE_SPACEVLLM_CPU_OMP_THREADS_BINDVLLM_CPU_NUM_OF_RESERVED_CPUVLLM_CPU_MOE_PREPACKVLLM_CPU_SGL_KERNEL	xla_cacheVLLM_XLA_CACHE_PATHVLLM_XLA_CHECK_RECOMPILATIONi   VLLM_FUSED_MOE_CHUNK_SIZE)VLLM_ENABLE_FUSED_MOE_ACTIVATION_CHUNKINGVLLM_USE_RAY_SPMD_WORKERVLLM_USE_RAY_COMPILED_DAGauto&VLLM_USE_RAY_COMPILED_DAG_CHANNEL_TYPE&VLLM_USE_RAY_COMPILED_DAG_OVERLAP_COMMVLLM_USE_RAY_WRAPPED_PP_COMMVLLM_XLA_USE_SPMDforkVLLM_WORKER_MULTIPROC_METHODassetsVLLM_ASSETS_CACHE   VLLM_IMAGE_FETCH_TIMEOUT   VLLM_VIDEO_FETCH_TIMEOUT
   VLLM_AUDIO_FETCH_TIMEOUT   VLLM_MEDIA_LOADING_THREAD_COUNT   VLLM_MAX_AUDIO_CLIP_FILESIZE_MBopencvVLLM_VIDEO_LOADER_BACKEND   VLLM_MM_INPUT_CACHE_GIBcudaVLLM_TARGET_DEVICEMAX_JOBSNVCC_THREADSVLLM_USE_PRECOMPILEDVLLM_DOCKER_BUILD_CONTEXT'VLLM_TEST_USE_PRECOMPILED_NIGHTLY_WHEELVLLM_KEEP_ALIVE_ON_ENGINE_DEATHCMAKE_BUILD_TYPEVERBOSEVLLM_ALLOW_LONG_MAX_MODEL_LENi'  VLLM_RPC_TIMEOUTVLLM_HTTP_TIMEOUT_KEEP_ALIVEVLLM_PLUGINSVLLM_LORA_RESOLVER_CACHE_DIRVLLM_TORCH_PROFILER_DIR!VLLM_TORCH_PROFILER_RECORD_SHAPES'VLLM_TORCH_PROFILER_WITH_PROFILE_MEMORYVLLM_TORCH_PROFILER_WITH_STACKVLLM_TORCH_PROFILER_WITH_FLOPSVLLM_USE_TRITON_AWQ VLLM_ALLOW_RUNTIME_LORA_UPDATINGVLLM_SKIP_P2P_CHECKVLLM_DISABLED_KERNELSVLLM_USE_V1VLLM_ROCM_USE_AITERVLLM_ROCM_USE_AITER_PAGED_ATTNVLLM_ROCM_USE_AITER_LINEARVLLM_ROCM_USE_AITER_MOEVLLM_ROCM_USE_AITER_RMSNORMVLLM_ROCM_USE_AITER_MLAVLLM_ROCM_USE_AITER_MHAVLLM_ROCM_USE_SKINNY_GEMMVLLM_ROCM_FP8_PADDINGVLLM_ROCM_MOE_PADDINGVLLM_ROCM_CUSTOM_PAGED_ATTNVLLM_ENABLE_V1_MULTIPROCESSINGVLLM_LOG_BATCHSIZE_INTERVALVLLM_DISABLE_COMPILE_CACHE   Q_SCALE_CONSTANTK_SCALE_CONSTANTd   V_SCALE_CONSTANTVLLM_SERVER_DEV_MODE   VLLM_V1_OUTPUT_PROC_CHUNK_SIZEVLLM_MLA_DISABLEg      ?VLLM_RAY_PER_WORKER_GPUSVLLM_RAY_BUNDLE_INDICESVLLM_CUDART_SO_PATHVLLM_DP_RANKVLLM_DP_RANK_LOCALVLLM_DP_SIZEVLLM_DP_MASTER_IPVLLM_DP_MASTER_PORT   VLLM_MOE_DP_CHUNK_SIZEVLLM_RANDOMIZE_DP_DUMMY_INPUTSVLLM_MARLIN_USE_ATOMIC_ADDVLLM_MXFP4_USE_MARLINVLLM_V0_USE_OUTLINES_CACHEVLLM_V1_USE_OUTLINES_CACHEVLLM_TPU_BUCKET_PADDING_GAPVLLM_TPU_MOST_MODEL_LENVLLM_TPU_USING_PATHWAYSVLLM_USE_DEEP_GEMMVLLM_USE_DEEP_GEMM_E8M0VLLM_SKIP_DEEP_GEMM_WARMUPVLLM_USE_FLASHINFER_MOE_FP8VLLM_USE_FLASHINFER_MOE_FP4
throughputVLLM_FLASHINFER_MOE_BACKENDVLLM_XGRAMMAR_CACHE_MB VLLM_MSGPACK_ZERO_COPY_THRESHOLD!VLLM_ALLOW_INSECURE_SERIALIZATION	localhostVLLM_NIXL_SIDE_CHANNEL_HOSTi  VLLM_NIXL_SIDE_CHANNEL_PORTnaiveVLLM_ALL2ALL_BACKENDi  "VLLM_MAX_TOKENS_PER_EXPERT_FP4_MOE%VLLM_TOOL_PARSE_REGEX_TIMEOUT_SECONDSVLLM_SLEEP_WHEN_IDLE   VLLM_MQ_MAX_CHUNK_BYTES_MBi,  "VLLM_EXECUTE_MODEL_TIMEOUT_SECONDSVLLM_KV_CACHE_LAYOUTVLLM_COMPUTE_NANS_IN_LOGITSVLLM_USE_NVFP4_CT_EMULATIONSNONE#VLLM_ROCM_QUICK_REDUCE_QUANTIZATION(VLLM_ROCM_QUICK_REDUCE_CAST_BF16_TO_FP16(VLLM_ROCM_QUICK_REDUCE_MAX_SIZE_BYTES_MBx   VLLM_NIXL_ABORT_REQUEST_TIMEOUTVLLM_USE_CUDNN_PREFILLVLLM_ENABLE_CUDAGRAPH_GCVLLM_LOOPBACK_IP2VLLM_ALLOW_CHUNKED_LOCAL_ATTN_WITH_HYBRID_KV_CACHEVLLM_ENABLE_RESPONSES_API_STOREVLLM_USE_TRTLLM_ATTENTION#VLLM_USE_FLASHINFER_MOE_MXFP4_MXFP8"VLLM_USE_FLASHINFER_MOE_MXFP4_BF16VLLM_TUNED_CONFIG_FOLDERc                   C      t dt jt jddS )NXDG_CACHE_HOME~z.cacheosgetenvpathjoin
expanduser r   r   U/home/app/PaddleOCR-VL-test/.venv_paddleocr/lib/python3.10/site-packages/vllm/envs.pyget_default_cache_root      r   c                   C   r   )NXDG_CONFIG_HOMEr   z.configr   r   r   r   r   get_default_config_root   r   r   valuereturnc                 C   s   | d u rd S t | S N)intr   r   r   r   maybe_convert_int   s   r   c                 C   s   | d u rd S t t| S r   )boolr   r   r   r   r   maybe_convert_bool   s   r   c               
   C   s|   dt jvrdS t dd} zt| W S  ty= } zddlm} || }|jr0td|  ddtd|  d|d}~ww )	zGet the port from VLLM_PORT environment variable.

    Returns:
        The port number as an integer if VLLM_PORT is set, None otherwise.

    Raises:
        ValueError: If VLLM_PORT is a URI, suggest k8s service discovery issue.
    r   N0r   )urlparsezVLLM_PORT 'z' appears to be a URI. This may be caused by a Kubernetes service discovery issue,check the warning in: https://docs.vllm.ai/en/stable/serving/env_vars.htmlz' must be a valid integer)r   environr   r   
ValueErrorurllib.parser   scheme)porterrr   parsedr   r   r   get_vllm_port   s*   
	


r   c                   C      t dd S )NrT   rS   r   r   lowerr   r   r   r   <lambda>       r   c                   C      t dd S )NrU   r   r   r   r   r   r   r          c                   C   r   )NrV   r   r   r   r   r   r      r   c                   C   s*   t jdd  dv ptt jdS )NrW   r   1trueZVLLM_PRECOMPILED_WHEEL_LOCATION)r   r   getstripr   r   r   r   r   r   r      s    c                   C      t jdd  dv S )NrX   r   r   r   r   r   r   r   r   r   r   r   r      s    c                   C      t ttddS )NrY   r   r   r   r   r   r   r   r   r   r         c                   C   
   t dS )Nr[   r   r   r   r   r   r        
 c                   C   r   )Nr\   r   r   r   r   r   r   r     r   c                	   C       t jt dt jt dS )Nr   vllm)r   r   r   r   r   r   r   r   r   r   r         c                	   C   r   )Nr   r   r   r   r   r   r   r   r   r   r   r   r   #  r   c                   C      t ddS )Nr   r   r   r   r   r   r   r   .  r   c                   C   s   t dt S )Nr	   )r   r   tempfile
gettempdirr   r   r   r   r   :  r   c                   C      t jdd dkS )Nr
   Falser   r   r   r   r   r   r   r   r   r   ?  s    c                   C      t tjddS )Nr   60r   r   r   r   r   r   r   r   r   C      	CUDA_HOMEc                   C      t jdd S )Nr   r   r   r   r   r   r   r   r   H      c                   C   r  )Nr   r  r   r   r   r   r   M  r  c                   C   r  )Nr   r  r   r   r   r   r   R  r  c                   C   s   t jdd dv S )Nr   Truer   r   r   r   r   r   r   r   V  s    c                   C      t dd dv S )Nr   r   r  r   r   r   r   r   r   \     c                   C   r  )Nr   r   r  r   r   r   r   r   r   b  r  c                   C      t tjdd S )Nr   r   r   r   r   r   r   r   r   r   i  r   "VLLM_TEST_DYNAMO_FULLGRAPH_CAPTUREc                   C   s   t tjdddkS )Nr
  r   r   )r   r   r   r   r   r   r   r   r   m  s    VLLM_USE_STANDALONE_COMPILEc                   C   s   t jdddkS )Nr  r   r  r   r   r   r   r   t  r   c                   C   r   )Nr   r   r   r   r   r   r   r   y  r   c                   C   r  )Nr   r  r   r   r   r   r   }  r  c                   C   r   )Nr   r   r   r   r   r   r   r     r   c                   C   r  )Nr   r  r   r   r   r   r     r  "VLLM_DEBUG_LOG_API_SERVER_RESPONSEc                   C   r   )Nr  r   r   r   r   r   r   r   r     s    c                   C   r  )Nr   r  r   r   r   r   r     r  c                   C   r  )Nr   r  r   r   r   r   r     r  c                   C   r  )Nr   r  r   r   r   r   r     r  c                   C      t jddS )Nr   r   r  r   r   r   r   r     r  c                   C      t jdddkS )Nr   r   r   r  r   r   r   r   r     r   c                   C   s$   t jdd pt jdd pddkS )Nr    ZDO_NOT_TRACKr   r   r  r   r   r   r   r     s
    c                   C   r  )Nr!   
productionr  r   r   r   r   r     r  c                   C      t tddS )Nr#   r   r   r   r   r   r   r   r   r     r   c                   C   r   )Nr'   r   r   r   r   r   r     r   c                   C   r   )Nr%   r$   r   r   upperr   r   r   r   r     r   c                   C   r   )Nr&   r   r   r   r   r   r   r     r   c                   C      dt jv rtt ddS d S )Nr(   r   r   r   r   r   r   r   r   r   r        
c                  C   s    t tdd } dkr| S dS )Nr*   z10.g        r)   floatr   r   )valr   r   r   r     s    c                   C   r  )Nr+   r   r  r   r   r   r   r     r   c                   C   r   )Nr,   r   r   r   r   r   r     r   c                   C   s    dt jv rttt jd S d S )Nr-   )r   r   r   r   r   r   r   r   r     s   
c                   C   r   )Nr.   r   r   r   r   r   r   r     r   c                   C   r   )Nr/   r   r   r   r   r   r     r   c                   C   r  )Nr0   r   r  r   r   r   r   r     r  c                   C   r   )Nr1   r<   r   r   r   r   r   r     r   c                   C   r  )Nr2   r   r  r   r   r   r   r     r  c                   C   r   )Nr3   r   r   r   r   r   r   r     r   c                   C   r   )Nr4   r   r   r   r   r   r   r     r   c                   C   r   )Nr:   r   r   r   r   r   r   r     r   c                   C   r   )Nr;   r   r   r   r   r   r   r     r   c                   C   r   )Nr=   r<   r   r   r   r   r   r     r   c                   C   r   )Nr>   r   r   r   r   r   r   r     r   c                   C   r   )Nr?   r   r   r   r   r   r   r     r   c                   C   r   )NrB   rA   r   r   r   r   r   r   $  r   c                
   C   "   t jt dt jt ddS )NrD   r   rC   r   r   r   r   r   r   (      c                   C   r  )NrF   5r  r   r   r   r   r   1  r   c                   C   r  )NrH   Z30r  r   r   r   r   r   6  r   c                   C   r  )NrJ   10r  r   r   r   r   r   ;  r   c                   C   r  )NrL   8r  r   r   r   r   r   A  r   c                   C   r  )NrN   Z25r  r   r   r   r   r   G  r   c                   C   r   )NrP   rO   r   r   r   r   r   r   Q  r   c                   C   r  )NrR   4r  r   r   r   r   r   V  r   c                
   C   r  )Nr6   r   r5   r   r   r   r   r   r   [  r  c                   C   r   )Nr7   r   r   r   r   r   r   r   c  r   c                   C   r   )Nr@   r   r   r   r   r   r   r   g  r   c                   C   r  )Nr8   Z32768r  r   r   r   r   r   i  r   c                   C   r   )Nr9   r   r   r   r   r   r   r   n      c                   C   r  )NrZ   r   r   r   r   r   r   r   r   r   t  r   c                   C   r   )Nr]   r   r   r   r   r   r   r   r   {     VLLM_TEST_FORCE_FP8_MARLINc                   C   r   )Nr#  r   r   r   r   r   r   r   r     r"  VLLM_TEST_FORCE_LOAD_FORMATc                   C   r   )Nr$  dummyr   r   r   r   r   r     r   c                   C   r  )Nr^   Z10000r  r   r   r   r   r     r   c                   C   r   )Nr_   r  r   r   r   r   r   r     r   c                   C   s   dt jvrd S t jd dS )Nr`   ,r   r   splitr   r   r   r   r         c                   C   r   )Nra   r   r   r   r   r   r     r   c                   C   s(   t dd d u r
d S t jt ddS )Nrb   .)r   r   r   r   r   r   r   r   r     s    c                   C      t tdddkS )Nrc   r   r!  r   r   r   r   r     r   c                   C   r+  )Nrd   r   r!  r   r   r   r   r     r   c                   C   s   t tdddkS )Nre   r   r   r!  r   r   r   r   r     r   c                   C   r+  )Nrf   r   r!  r   r   r   r   r     r   c                   C   r   )Nrg   r   r   r   r   r   r   r     r   c                   C   r   )Nrh   r   r   r   r   r   r   r   r     r"  c                   C   s   t dddkS )Nri   r   r   r   r   r   r   r     r   c                   C   s   dt jvrg S t jd dS )Nrj   r&  r'  r   r   r   r   r     r)  c                   C   r   )Nrk   r   r   r   r   r   r   r     r   c                   C   r  )Nrl   r   r  r   r   r   r   r   r         c                   C   r  )Nrm   r   r  r   r   r   r   r   r     r,  c                   C   r  )Nrn   r  r  r   r   r   r   r   r     r,  c                   C   r  )Nro   r  r  r   r   r   r   r   r     r,  c                   C   r  )Nrp   r  r  r   r   r   r   r   r     r,  c                   C   r  )Nrq   r  r  r   r   r   r   r   r     r,  c                   C   r  )Nrr   r  r  r   r   r   r   r   r     r,  c                   C   r  )Nrs   r  r  r   r   r   r   r   r     r,  c                   C   r   )Nrt   r   r   r   r   r   r   r     r   c                   C   r   )Nru   r   r   r   r   r   r   r     r   c                   C   r  )Nrv   r  r  r   r   r   r   r   r     r,  c                   C   r   )Nr   r   r  r   r   r   r   r     r   c                   C   r  )Nr   r  r  r   r   r   r   r   r   #  r  c                   C   r  )Nr   r	  r   r   r   r   r   .  s    c                   C   r  )Nr|   200r  r   r   r   r   r   3  r   c                   C   r  )Nr}   r-  r  r   r   r   r   r   6  r   c                   C   r  )Nr   100r  r   r   r   r   r   9  r   c                   C   r   )Nrw   r   r   r   r   r   r   r   =  r   c                   C   r  )Nry   z-1r  r   r   r   r   r   ?  r   c                   C   r   )Nrz   r   r   r   r   r   r   r   A  r   c                   C   r   )Nr   r   r   r   r   r   r   r   G  r   c                   C   r  )Nr   Z128r  r   r   r   r   r   Q  r   c                   C   r   )Nr   r   r   r   r   r   r   r   U  r   c                   C   r  )Nr   z1.0r  r   r   r   r   r   [  r   c                   C   r   )Nr   r   r   r   r   r   r   r   a  r   c                   C   r   )Nr   r   r   r   r   r   r   f  r   c                   C   r  )Nr   r   r  r   r   r   r   r   j  r   c                   C   s   t tdtjt jS )Nr   )r   r   r   sysmodules__name__r   r   r   r   r   r   o  s    c                   C   r  )Nr   r   r  r   r   r   r   r   t  r   c                   C   r   )Nr   z	127.0.0.1r   r   r   r   r   r   x  r   c                   C   r  )Nr   r   r  r   r   r   r   r   |  r   c                   C   r  )Nr   256r  r   r   r   r   r     r   c                   C   r  )Nr   r   r   r  r   r   r   r   r     r   VLLM_CI_USE_S3c                   C   r  )Nr3  r   r   r  r   r   r   r   r     r   c                   C   r  )Nr   r  r   r   r   r   r     r  c                   C   r  )Nr   r   r   r  r   r   r   r   r     r   c                   C   r  )Nr   )r   r   r   r   r   r   r   r   r     r   c                   C   r  )Nr   r   r   r  r   r   r   r   r     r   c                   C   r  )Nr   r   r   r  r   r   r   r   r     r   c                   C   s   dt jv rtt jd S dS )Nr   r   )r   r   r   r   r   r   r   r     s   
c                   C   r  )Nr   r	  r   r   r   r   r     r   c                   C   s   t dtdd v S )NproxyZJAX_PLATFORMSr   )r   r   r   r   r   r   r   r   r     s    c                   C   r   )Nr   r   r   r   r   r   r   r     r   c                   C   r   )Nr   r   r   r   r   r   r   r     r   c                   C   r   )Nr   r   r   r   r   r   r   r     r   c                   C   r   )Nr   r   r   r   r   r   r   r     r   c                   C   r   )Nr   r   r   r   r   r   r   r     r   c                   C   r   )Nr   r   r   r   r   r   r   r     r   c                   C   r   )Nr   r   r   r   r   r   r   r     r   c                   C   r  )Nr   Z512r  r   r   r   r   r     r   c                   C   r  )Nr   r2  r  r   r   r   r   r     r   c                   C   r   )Nr   r   r   r   r   r   r   r     r   c                   C   r   )Nr   r   r   r   r   r   r   r     r   c                   C   r  )Nr   Z5557r  r   r   r   r   r     r   c                   C   r   )Nr   r   r   r   r   r   r   r     r   c                   C   r   )Nr   r   r   r   r   r   r   r   
  s    c                   C   r  )Nr   Z163840r  r   r   r   r   r     r   $VLLM_MOE_ROUTING_SIMULATION_STRATEGYc                   C   s   t jdd S )Nr5  r   r   r   r   r   r   r     r   c                   C   r  )Nr   r   r  r   r   r   r   r      r   c                   C   r   )Nr   r   r   r   r   r   r   r   %  r   c                   C   r  )Nr   Z16r  r   r   r   r   r   +  r   c                   C   r  )Nr   Z300r  r   r   r   r   r   0  r   c                   C   r   )Nr   r   r   r   r   r   r   :  r   c                   C   r   )Nr   r   r   r   r   r   r   r   @  r   c                   C   r   )Nr   r   r   r   r   r   r   r   F  r   c                   C   r  )Nr   Z120r  r   r   r   r   r   M  r   c                   C   r   )Nr   r   r   r   r   r   r   r   Q  r   c                   C   r   )Nr   r   r   r   r   r   r   U  r   c                   C   r   )NVLLM_USE_TRTLLM_FP4_GEMMr   r   r   r   r   r   r   [  r   c                   C   r   )Nr   r   r   r   r   r   r   r   a  r   c                   C   r   )Nr   r   r   r   r   r   r   r   e  r   c                   C   r   )NVLLM_PROCESS_NAME_PREFIXZVLLMr   r   r   r   r   r   k  r   c                   C   r   )Nr   r   r   r   r   r   r   r   u  s    c                   C   r   )Nr   r   r   r   r   r   r   r     r   c                   C   r   )Nr   r   r   r   r   r   r     r   )r   r   r   r   r6  r   r   r7  r   r   r   environment_variablesnamec                 C   s&   | t v r	t |   S tdtd| )Nmodule  has no attribute )r8  AttributeErrorr1  r9  r   r   r   __getattr__     
r>  c                   C   s   t t S r   )listr8  keysr   r   r   r   __dir__  s   rB  c                 C   s&   | t v r	| tjv S tdtd| )z3Check if an environment variable is explicitly set.r:  r;  )r8  r   r   r<  r1  r=  r   r   r   is_set  r?  rC  use_v1c                 C   s&   t drtd| rdndtjd< d S )Nrk   zShould not call set_vllm_use_v1() if VLLM_USE_V1 is set explicitly by the user. Please raise this as a Github Issue and explicitly set VLLM_USE_V1=0 or 1.r   r   )rC  r   r   r   )rD  r   r   r   set_vllm_use_v1  s
   rE  c                  C   sN   g d} | D ]
}|t v sJ dqdd | D }tjt| dd }|S )a  
    WARNING: Whenever a new key is added to this environment
    variables, ensure that it is included in the factors list if
    it affects the computation graph. For example, different values
    of VLLM_PP_LAYER_PARTITION will generate different computation
    graphs, so it is included in the factors list. The env vars that
    affect the choice of different kernels or attention backends should
    also be included in the factors list.
    )%r/   r   r   rg   r   r   r  r8   r   r   r   r,   r-   r.   rj   r   r6  r   r   r   r   r   r   rl   rm   rn   ro   rp   rq   rr   rs   rt   ru   rv   r   r   r   z6Please update environment_variables_to_hash in envs.pyc                 S   s   g | ]}t |  qS r   )r8  ).0keyr   r   r   
<listcomp>  s    
z compute_hash.<locals>.<listcomp>F)usedforsecurity)r8  hashlibmd5strencode	hexdigest)Zenvironment_variables_to_hashrG  ZfactorsZhash_strr   r   r   compute_hash  s   '
rO  )rJ  r   r/  r   typingr   r   r   r   r   rL  __annotations__r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r#   r%   r&   r'   r(   r*   r  r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r   r6   r7   r8   r9   r:   r;   r=   r>   r?   r@   rB   rD   rF   rH   rJ   rL   rN   rP   rR   rT   rU   rV   rW   rX   rY   rZ   r[   r\   r]   r^   r_   r`   r@  ra   rb   rc   rd   re   rf   rg   rh   ri   rj   rk   rl   rm   rn   ro   rp   rq   rr   rs   rt   ru   rv   rw   ry   rz   r|   r}   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r8  dictr>  rB  rC  rE  rO  r   r   r   r   <module>   s
  
"!(,4?JQV[_dinrx~   
          "  &  +  -  /  3  5  7  :  A  C  G  K  R  X  _  j  n  t  x  }       	                $    /    5    =    B    F    O    T    Y    _    e    o    t    y                                         !      %      *      .      4      ;      @      G      M      T      Z      ^      b      m      t      y      ~                                               #        (        -        1        5        <        C        N        S        V        Y        ]        _        a        g        q        u        {                                                                               %          )          -          6          :          >          D          J          O          R          V          Z          _          f          j          n          s          x          ~           	                                                             
-            5            >            B            G            M            R            \            b            i
       $       1	