
    g                     <    d dl Z d dlZd dlmZ d dlZ G d d      Zy)    N)	BaseModelc                       e Zd Zd Zd Zy)PromptLayerLoggerc                 8    t        j                  d      | _        y )NPROMPTLAYER_API_KEY)osgetenvkey)selfs    V/var/www/openai/venv/lib/python3.12/site-packages/litellm/integrations/prompt_layer.py__init__zPromptLayerLogger.__init__   s    9923    c                    	 i }|d   |d<   |d   |d<   |d   D ]  }|d   |   ||<    g }i }	d|d   v rCd|d   d   v r|d   d   d   }|d   d   j                         D 
ci c]  \  }
}|
dk7  r|
| }	}
} |d| d|        t        |t              r|j                         }t        j
                  j                  d	d
||t        |      t        |j                               t        |j                               | j                  d      }|j                         }|j                         j                  dd      st        d       |d|j                          d|v rK|	rHt        j
                  j                  d|d   | j                  |	d      } |d|j                          y y y c c}}
w # t        $ r   |dt        j                                  Y y w xY w)Nmodelmessagesoptional_paramsmetadatalitellm_paramspl_tagszAPrompt Layer Logging - Enters logging function for model kwargs: z
, response: z.https://api.promptlayer.com/rest/track-requestzopenai.ChatCompletion.create)function_namekwargstagsrequest_responserequest_start_timerequest_end_timeapi_key)jsonsuccessFz2Promptlayer did not successfully log the response!z7Prompt Layer Logging: success - final response object: 
request_idz/https://api.promptlayer.com/rest/track-metadata)r   r   r   z?Prompt Layer Logging: success - metadata post response object: zerror: Prompt Layer Error - )items
isinstancer   
model_dumplitellmmodule_level_clientpostdictint	timestampr
   r   get	Exceptiontext	traceback
format_exc)r   r   response_obj
start_timeend_timeprint_verbose
new_kwargsoptional_paramr   r   kvr   response_jsonresponses                  r   	log_eventzPromptLayerLogger.log_event   s]   H	J"(/Jw%+J%7Jz" #)):";-34E-F~-V
>* #< DHV$455'7 8 DD!"23J?	JD
 !''7 8 D J J L L1I~ qD L   ST^S__mnzm{|
 ,	2+668&::??@%C( (,\(:*-j.B.B.D*E(+H,>,>,@(A#xx  @  " -113M#((*..y%@ TUUIJZJ_J_I`a },&::??I*7*E'+xx(0  @  H "YZbZgZgYhi  -Oj  	89M9M9O8PQR	s%   A F5 "F/4D8F5 /F5 5&GGN)__name__
__module____qualname__r   r8    r   r   r   r      s    4Jr   r   )r   r,   pydanticr   r#   r   r<   r   r   <module>r>      s    
   P Pr   