o
    ưi                     @   sP   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 dZ
dS )    N)TYPE_CHECKINGAny)calculate_max_parallel_requests)Routerc                   @   s"   e Zd ZededefddZdS )InitalizeCachedClientlitellm_router_instancemodelc           
      C   s   | di }|d d }| dd }| dd }| dd }t|||| jd}|r>t|}| d}	| jj|	|d	d
 d S d S )Nlitellm_paramsZ
model_infoidrpmtpmmax_parallel_requests)r   r   r   default_max_parallel_requestsZ_max_parallel_requests_clientT)keyvalue
local_only)getr   r   asyncio	SemaphorecacheZ	set_cache)
r   r   r	   Zmodel_idr   r   r   Z calculated_max_parallel_requestsZ	semaphore	cache_key r   f/home/app/Keep/.python/lib/python3.10/site-packages/litellm/router_utils/client_initalization_utils.py set_max_parallel_requests_client   s(   


z6InitalizeCachedClient.set_max_parallel_requests_clientN)__name__
__module____qualname__staticmethodLitellmRouterdictr   r   r   r   r   r      s    r   )r   typingr   r   Zlitellm.utilsr   Zlitellm.routerr   Z_Routerr   r   r   r   r   r   <module>   s    