a
    bg8	                     @   s2   d dl Z d dlZd dlmZmZ G dd dZdS )    N)DictOptionalc                   @   sr   e Zd ZU dZdZeed< edeee ee ee ee ee ee	 ee ee ee	 e
eef dddZdS )	PortkeyzPortkey configuration.

    Attributes:
        base: The base URL for the Portkey API.
          Default: "https://api.portkey.ai/v1/proxy"
    zhttps://api.portkey.ai/v1/proxybaseN)api_keytrace_idenvironmentuserorganisationpromptretry_countcachecache_force_refresh	cache_agereturnc
                 C   s&  |d u s|t ddv sJ d|d u s6|dv s6J d|d u sXt|trP|dv sXJ d|	d u srt|	tsrJ dtjtjd	< | d
d}
|r||
d< |rt||
d< |r||
d< |r||
d< |	rdt|	 |
d< i }|r||d< |r||d< |r||d< |r||d< |r"|
dt	
|i |
S )N      z;retry_count must be an integer and in range [1, 2, 3, 4, 5])simpleZsemanticz$cache must be 'simple' or 'semantic')TrueFalsez-cache_force_refresh must be 'True' or 'False'zcache_age must be an integerZOPENAI_API_BASEzproxy openai)zx-portkey-api-keyzx-portkey-modezx-portkey-trace-idzx-portkey-retry-countzx-portkey-cachezx-portkey-cache-force-refreshzmax-age:zCache-ControlZ_environment_userZ_organisationZ_promptzx-portkey-metadata)range
isinstancestrintr   r   osenvironupdatejsondumps)r   r   r   r	   r
   r   r   r   r   r   headersmetadata r"   s/var/www/html/cobodadashboardai.evdpl.com/venv/lib/python3.9/site-packages/langchain_community/utilities/portkey.pyConfig   s\    
zPortkey.Config)	NNNNNNNNN)__name__
__module____qualname____doc__r   r   __annotations__staticmethodr   r   r   r$   r"   r"   r"   r#   r      s2   
         
r   )r   r   typingr   r   r   r"   r"   r"   r#   <module>   s   