o
    ȳg8	                     @   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                   @   s   e Zd ZU dZdZeed< e									ddedee dee dee d	ee d
ee dee	 dee dee dee	 de
eef f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 s|dv sJ d|d u s,t|tr(|dv s,J d|	d u s9t|	ts9J dtjtjd	< | d
d}
|rJ||
d< |rRt||
d< |rX||
d< |r^||
d< |	ridt|	 |
d< i }|rq||d< |rw||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])simplesemanticz$cache must be 'simple' or 'semantic')TrueFalsez-cache_force_refresh must be 'True' or 'False'zcache_age must be an integer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-Control_environment_user_organisation_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'   a/var/www/html/chatdoc2/venv/lib/python3.10/site-packages/langchain_community/utilities/portkey.pyConfig   sZ   

zPortkey.Config)	NNNNNNNNN)__name__
__module____qualname____doc__r   r   __annotations__staticmethodr   r   r   r)   r'   r'   r'   r(   r      sH   
 	

r   )r#   r    typingr   r   r   r'   r'   r'   r(   <module>   s    