
    Ng8	                     @    d dl Z d dlZd dlmZmZ  G d d          ZdS )    N)DictOptionalc                       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            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
                 <   ||t          dd          v s
J d            ||dv s
J d            |#t          |t                    r|dv s
J d            |	t          |	t                    s
J d            t          j        t          j        d	<   | d
d}
|r||
d<   |rt          |          |
d<   |r||
d<   |r||
d<   |	rdt          |	           |
d<   i }|r||d<   |r||d<   |r||d<   |r||d<   |r)|
                    dt          j
        |          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metadatas               a/var/www/html/ai-engine/env/lib/python3.11/site-packages/langchain_community/utilities/portkey.pyConfigzPortkey.Config   s    "kUq6
 6
 '
 '
 '
H'
 '
 '
 } *
 !
 !
 !
 2!
 !
 !
 #**C00 +#'8888: 988 Js%
 %
  ) !   )0
$% "),
 

  	5,4G() 	@/2;/?/?G+, 	/).G%& 	K7JG34 	C'B#i..'B'BGO$ 	3'2H^$ 	% $HW 	5(4H_% 	)"(HY 	INN0$*X2F2FGHHH    )	NNNNNNNNN)__name__
__module____qualname____doc__r   r!   __annotations__staticmethodr   r"   r   r+    r,   r*   r   r      s          2D#111 #'%)"&* $%)#-1#': ::3-: c]: sm	:
 sm: : c]: }: &c]: C=: 
c3h: : : \: : :r,   r   )r&   r#   typingr   r   r   r3   r,   r*   <module>r5      sk     				 ! ! ! ! ! ! ! !E E E E E E E E E Er,   