o
    ưis                     @   sB   d dl Z d dlZd dlmZ d dlmZ d dlZG dd dZdS )    N)uuid)Anyc                   @   s$   e Zd Zdd Zdd Zdd ZdS )DyanmoDBLoggerc                 C   s<   dd l }|jdtjd d| _tjd u rtdtj| _d S )Nr   dynamodbZAWS_REGION_NAME)Zregion_namezLiteLLM Error, trying to use DynamoDB but not table name passed. Create a table and set `litellm.dynamodb_table_name=<your-table>`)	boto3resourceosenvironr   litellmZdynamodb_table_name
ValueError
table_name)selfr    r   T/home/app/Keep/.python/lib/python3.10/site-packages/litellm/integrations/dynamodb.py__init__   s   

zDyanmoDBLogger.__init__c                    s   |  ||||| d S )N)	log_event)r   kwargsresponse_obj
start_timeend_timeprint_verboser   r   r   _async_log_event   s   zDyanmoDBLogger._async_log_eventc                 C   s>  z|d|  | di }| di pi }| d}| di }	| dd}
|d }| d	tt }||
||| d
d| dd|	||||d}| D ]\}}zt|||< W qO tyd   Y qOw |d|  | j| j}|j	|d}|dt|  |d|  |W S  ty   |dt
   Y d S w )Nz5DynamoDB Logging - Enters logging function for model litellm_paramsmetadatamessagesoptional_params	call_typezlitellm.completionusageidmodel user)r   r   Z	startTimeZendTimer   r!   ZmodelParametersr   responser   r   z%
DynamoDB Logger - Logging payload = )ZItemzResponse from DynamoDB:z0DynamoDB Layer Logging - final response object: zDynamoDB Layer Error - )getstrr   uuid4items	Exceptionr   Tabler   Zput_item	traceback
format_exc)r   r   r   r   r   r   r   r   r   r   r   r   r   payloadkeyvaluetabler"   r   r   r   r   !   sT   


zDyanmoDBLogger.log_eventN)__name__
__module____qualname__r   r   r   r   r   r   r   r      s    r   )r   r)   Zlitellm._uuidr   typingr   r
   r   r   r   r   r   <module>   s   