
    7|h<	                     8    d dl Z d dlZd dlmZmZ  G d d      Zy)    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y)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&|
j                  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               d/var/www/html/test/engine/venv/lib/python3.12/site-packages/langchain_community/utilities/portkey.pyConfigzPortkey.Config   sw    "kU1a[&@ 	
I	
@ } *
 !
 	2 2	2 
 #**C0#'88	; ;	; 
  Jy#$> 	
*	
> )0

$% "),

 ,4G()/2;/?G+,).G%&7JG34)1#i.1A'BGO$'2H^$ $HW(4H_%"(HYNN0$**X2FGH    )	NNNNNNNNN)__name__
__module____qualname____doc__r   r!   __annotations__staticmethodr   r"   r   r+    r,   r*   r   r      s     2D#1 #'%)"&* $%)#-1#'::3-: c]: sm	:
 sm: : c]: }: &c]: C=: 
c3h: :r,   r   )r&   r#   typingr   r   r   r3   r,   r*   <module>r5      s     	 !E Er,   