
    g7                     (    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)osgetenvathina_api_keyheadersathina_logging_urladditional_keys)selfr   s     P/var/www/openai/venv/lib/python3.12/site-packages/litellm/integrations/athina.py__init__zAthinaLogger.__init__   sS     ii(89"11.
 #%)),=?V"WZq"q
 
    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>G   s)      3DAq.. A3s   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_verboser7   r8   	is_streamcompletion_responseresponse_jsonr5   r)   r3   keyr%   es                    r   	log_eventzAthinaLogger.log_event   sx   C	

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   rT   r-   r   r   r   r      s    
*Gr   r   )r<   rA   r   r-   r   r   <module>rX      s     ] ]r   