o
    ưi                     @   s6   d dl Z d dlZd dlmZ d dlZG dd dZdS )    N)	BaseModelc                   @   s   e Zd Zdd Zdd ZdS )PromptLayerLoggerc                 C   s   t d| _d S )NZPROMPTLAYER_API_KEY)osgetenvkey)self r   X/home/app/Keep/.python/lib/python3.10/site-packages/litellm/integrations/prompt_layer.py__init__   s   zPromptLayerLogger.__init__c              
   C   s  zi }|d |d< |d |d< |d D ]
}|d | ||< qg }i }	d|d v rEd|d d v r8|d d d }dd |d d   D }	|d	| d
|  t|trX| }tjjdd||t|t|	 t|	 | j
dd}
|
 }|
 ddstd|d|
j  d|v r|	rtjjd|d | j
|	dd}|d|j  W d S W d S W d S  ty   |dt   Y d S w )NmodelmessagesZoptional_paramsmetadataZlitellm_paramspl_tagsc                 S   s   i | ]\}}|d kr||qS )r   r   ).0kvr   r   r	   
<dictcomp>$   s
    z/PromptLayerLogger.log_event.<locals>.<dictcomp>zAPrompt Layer Logging - Enters logging function for model kwargs: z
, response: z.https://api.promptlayer.com/rest/track-requestzopenai.ChatCompletion.create)Zfunction_namekwargstagsrequest_responseZrequest_start_timeZ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   Z
model_dumplitellmZmodule_level_clientpostdictint	timestampr   r   get	Exceptiontext	traceback
format_exc)r   r   Zresponse_obj
start_timeend_timeZprint_verboseZ
new_kwargsZoptional_paramr   r   r   Zresponse_jsonresponser   r   r	   	log_event   sl   





zPromptLayerLogger.log_eventN)__name__
__module____qualname__r
   r)   r   r   r   r	   r      s    r   )r   r$   Zpydanticr   r   r   r   r   r   r	   <module>   s
   