
    h                     (    d dl Z d dlZ G d d      Zy)    Nc                       e Zd Zd Zd Zy)AthinaLoggerc                     dd l }|j                  d      | _        | j                  dd| _        |j                  dd      dz   | _        g d| _        y )	Nr   ATHINA_API_KEYzapplication/json)zathina-api-keyzContent-TypeATHINA_BASE_URLzhttps://log.athina.aiz/api/v1/log/inference)environmentprompt_slugcustomer_idcustomer_user_id
session_idexternal_reference_idcontextexpected_response
user_querytagsuser_feedbackmodel_optionscustom_attributes)osgetenvathina_api_keyheadersathina_logging_urladditional_keys)selfr   s     W/var/www/Befach/backend/env/lib/python3.12/site-packages/litellm/integrations/athina.py__init__zAthinaLogger.__init__   sX     ii(89"11.

 II')@A%& 	 
    c           	         dd l }dd l}	 |j                  dd      }|rd|v r|d   }	|	r|	j                         ni }
ny |r|j                         ni }
|j                  d      ||
|
j                  di       j                  d      |
j                  di       j                  d      |
j                  di       j                  d	      d
}t	        |      t
        j
                  u r=t	        |      t
        j
                  u r"t        ||z
  j                         dz        |d<   d|v r|j                  dd       |d<   |j                  di       }|j                  d |j                         D               |j                  di       j                  di       }|r| j                  D ]  }||v s||   ||<    t        j                  j                  | j                  | j                  |j!                  |t"                    }|j$                  dk7  r# |d|j&                   d|j$                          y  |d|j&                          y # t(        $ r&} |d| d|j+                                 Y d }~y d }~ww xY w)Nr   streamFcomplete_streaming_responsemodelusageprompt_tokenscompletion_tokenstotal_tokens)language_model_idrequestresponser$   r%   r&   i  response_timemessagespromptoptional_paramsc              3   2   K   | ]  \  }}|d v r||f  yw))tools	functionsN ).0kvs      r   	<genexpr>z)AthinaLogger.log_event.<locals>.<genexpr>N   s)      Aq.. As   litellm_paramsmetadata)default)r   data   zAthina Logger Error - z, zAthina Logger Succeeded - z, Stack trace: )json	tracebackget
model_dumptypedatetimeinttotal_secondsupdateitemsr   litellmmodule_level_clientpostr   r   dumpsstrstatus_codetext	Exception
format_exc)r   kwargsresponse_obj
start_timeend_timeprint_verboser;   r<   	is_streamcompletion_responseresponse_jsonr9   r-   r7   keyr)   es                    r   	log_eventzAthinaLogger.log_event#   sx   B	

8U3I0F:*01N*O'<O+668UW "
  >J 7 7 9r%+ZZ%8!)!.!2!27B!?!C!CO!T%2%6%6w%C%G%G'& !. 1 1'2 > B B> R	D X("3"33$(9(99(+
*99;dB)_% V#!'J!=X %jj):B?OKK +113  zz"2B7;;JKH//Ch$,SMS	 0 2277''ZZcZ2 8 H
 ##s*,X]]O2h>R>R=ST  :8==/JK 	(?9;O;O;Q:RS 		s*   2I E)I 'BI .I 	I3I..I3N)__name__
__module____qualname__r   rX   r1   r   r   r   r      s    
8Fr   r   )r@   rE   r   r1   r   r   <module>r\      s     c cr   