
    h                     V    d dl Z d dlmZmZ d dlmZ er	d dlmZ eZ	neZ	 G d d      Z
y)    N)TYPE_CHECKINGAny)calculate_max_parallel_requests)Routerc                   &    e Zd Zededefd       Zy)InitalizeCachedClientlitellm_router_instancemodelc                 L   |j                  di       }|d   d   }|j                  dd       }|j                  dd       }|j                  dd       }t        |||| j                        }|r9t        j                  |      }| d}	| j
                  j                  |	|d	
       y y )Nlitellm_params
model_infoidrpmtpmmax_parallel_requests)r   r   r   default_max_parallel_requests_max_parallel_requests_clientT)keyvalue
local_only)getr   r   asyncio	Semaphorecache	set_cache)
r	   r
   r   model_idr   r   r    calculated_max_parallel_requests	semaphore	cache_keys
             k/var/www/Befach/backend/env/lib/python3.12/site-packages/litellm/router_utils/client_initalization_utils.py set_max_parallel_requests_clientz6InitalizeCachedClient.set_max_parallel_requests_client   s     #3R8&t,  -  - . 2 23JD Q+J"7*A*_*_	,
( ,))*JKI#*$ABI#))33 4  ,    N)__name__
__module____qualname__staticmethodLitellmRouterdictr!    r"   r    r   r      s$    !.7; r"   r   )r   typingr   r   litellm.utilsr   litellm.routerr   _Routerr'   r   r)   r"   r    <module>r.      s(     % 90MM r"   