
    h                         d dl Z d dlZd dlmZ d dlmZ dZdZdZdZ	ej                  Zd dlmZmZmZ d	 Z G d
 de      Z G d de      Z G d d      Zy)    N)Enum)verbose_loggerz!https://deepeval.confident-ai.comz$https://eu.deepeval.confident-ai.comzhttps://api.confident-ai.comzhttps://eu.api.confident-ai.com)HTTPHandlerget_async_httpx_clienthttpxSpecialProviderc                     | j                  d      }| j                  d      }|rt        j                  d| d| d       y t        j                  d| d       y )N	exceptiontrieszConfident AI Error: z. Retrying: z time(s)...z
Retrying: )getloggingerror)detailsr	   r
   s      ]/var/www/Befach/backend/env/lib/python3.12/site-packages/litellm/integrations/deepeval/api.pylog_retry_errorr      sR    K(IKK E,YK|E7+VW
5'56    c                       e Zd ZdZdZdZdZy)HttpMethodsGETPOSTDELETEPUTN)__name__
__module____qualname__r   r   r   r    r   r   r   r      s    
CDF
Cr   r   c                   8    e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZy)	Endpointsz/v1/datasetz/v1/test-runz/v1/tracingz	/v1/eventz/v1/feedbackz
/v1/promptz/v1/recommend-metricsz	/evaluatez/guardz/guardrailsz/generate-baseline-attacksN)r   r   r   DATASET_ENDPOINTTEST_RUN_ENDPOINTTRACING_ENDPOINTEVENT_ENDPOINTFEEDBACK_ENDPOINTPROMPT_ENDPOINTRECOMMEND_ENDPOINTEVALUATE_ENDPOINTGUARD_ENDPOINTGUARDRAILS_ENDPOINTBASELINE_ATTACKS_ENDPOINTr   r   r   r   r   $   sA    $&$ N&"O0#N' <r   r   c                   V    e Zd Zd
defdZ	 ddedefdZ	 ddedefdZ	 ddedefd	Z	y)ApiNapi_keyc                     || _         d|d| _        |xs t        | _        t	               | _        t        t        j                        | _	        y )Nzapplication/json)zContent-TypeCONFIDENT_API_KEY)llm_provider)
r+   _headersAPI_BASE_URLbase_api_urlr   sync_http_handlerr   r   LoggingCallbackasync_http_handler)selfr+   base_urls      r   __init__zApi.__init__3   sG    .!(
 %4!,"8-==#
r   methodurlc                     |dk7  rt        d      	 | j                  j                  ||||       y # t        j                  $ r'}t        d|j
                  j                         d }~wt         $ r}|d }~ww xY w)Nr    Only POST requests are supportedr9   headersjsonparamsDeepEval logging error: )	Exceptionr2   posthttpxHTTPStatusErrorresponsetext)r5   r8   r9   r=   r>   r?   es          r   _http_requestzApi._http_requestA   s     V>??
	""''	 (  $$ 	J6qzz6GHII 	G	s!   2 A:"A''A:3A55A:endpointc                    | j                    |j                   }| j                  |j                  || j                  ||      }|j                  dk(  r	 |j                         S t        j                  |j                                t        |j                         j                  d|j                              # t        $ r |j                  cY S w xY w)N)r8   r9   r=   r>   r?      r   )r1   valuerH   r/   status_coder>   
ValueErrorrF   r   debugrA   r   )r5   r8   rI   bodyr?   r9   ress          r   send_requestzApi.send_requestR   s     ""#HNN#34  <<MM ! 
 ??c! xxz!   ,CHHJNN7CHH=>>	   xx s   B; ;CCc                 z  K   |t         j                  k7  rt        d      | j                   |j                   }	 | j
                  j                  || j                  ||       d {    y 7 # t        j                  $ r'}t        d|j                  j                         d }~wt        $ r}|d }~ww xY ww)Nr;   r<   r@   )r   r   rA   r1   rL   r4   rB   r/   rC   rD   rE   rF   )r5   r8   rI   rP   r?   r9   rG   s          r   a_send_requestzApi.a_send_requestg   s      [%%%>??""#HNN#34
	))..	 /    $$ 	J6qzz6GHII 	G	sF   9B;,A0 (A.)A0 -B;.A0 0B8"B%%B81B33B88B;)N)NNN)NN)
r   r   r   strr7   rH   r   r   rR   rT   r   r   r   r*   r*   2   sb    
 
 FJ #$ KO?!?-6?, KO!-6r   r*   )r   rC   enumr   litellm._loggingr   DEEPEVAL_BASE_URLDEEPEVAL_BASE_URL_EUr0   API_BASE_URL_EU	HTTPErrorretryable_exceptions&litellm.llms.custom_httpx.http_handlerr   r   r   r   r   r   r*   r   r   r   <module>r^      sd       +7 = -3  7$ = =F Fr   