
    g                     ,    d dl Z d dlmZ  G d d      Zy)    N)verbose_loggerc                   "    e Zd ZdZd Z	 	 ddZy)TraceloopLoggerzT
    WARNING: DEPRECATED
    Use the OpenTelemetry standard integration instead
    c                     	 ddl m} ddlm} |j                  dd        |       | _
        y # t        $ r4}t        j                  d| dt        j                                 |d }~ww xY w)	Nr   )	Traceloop)TracerWrapperzTTraceloop not installed, try running 'pip install traceloop-sdk' to fix this error: 
zLitellm-ServerT)app_namedisable_batch)traceloop.sdkr   traceloop.sdk.tracing.tracingr   ModuleNotFoundErrorr   error	traceback
format_excinittracer_wrapper)selfr   r   es       S/var/www/openai/venv/lib/python3.12/site-packages/litellm/integrations/traceloop.py__init__zTraceloopLogger.__init__   s    	/C 	% 	 	
 ,o # 	  fghfiiklu  mA  mA  mC  lD  E G		s   . 	A+/A&&A+Nc	           	      	   ddl m}	 ddlm}
m}m} 	  |d|        | j                  j                         }|j                  di       }t        |j                               }t        |j                               }|j                  d|
j                  |      }|j                         r|j                  |	j                  |j                  d             d	|v r+|j                  |	j                   |j                  d	             d
|v r+|j                  |	j"                  |j                  d
             d|v r+|j                  |	j$                  |j                  d             d|v r+|j                  |	j&                  |j                  d             d|v sd|v r;|j                  |	j(                  |j                  d|j                  d                   d|v r+|j                  |	j*                  |j                  d             d|v r+|j                  |	j,                  |j                  d             d|v r+|j                  |	j.                  |j                  d             t1        |j                  d            D ]g  \  }}|j                  |	j2                   d| d|j                  d             |j                  |	j2                   d| d|j                  d             i |j                  |	j4                  |j                  d             |j                  d      }|r|j                  |	j6                  |j                  d             |j                  |	j8                  |j                  d             |j                  |	j:                  |j                  d             t1        |j                  d            D ]  \  }}|j                  |	j<                   d| d|j                  d             |j                  |	j<                   d| d|j                  d      j                  d             |j                  |	j<                   d| d|j                  d      j                  d              |d k(  rN|Lt?        |t@              r<|jC                  tE        |             |jG                   ||jH                  |             |jK                  |       y # tD        $ r} |d!|        Y d }~y d }~ww xY w)"Nr   )SpanAttributes)SpanKindStatus
StatusCodez6Traceloop Logging - Enters logging function for model optional_paramszlitellm.completion)kind
start_timemodelstopfrequency_penaltypresence_penaltytop_ptools	functionsuser
max_tokenstemperaturemessages.z.rolerolez.contentcontentusagetotal_tokenscompletion_tokensprompt_tokenschoicesz.finish_reasonfinish_reasonmessageERRORzTraceloop Layer Error - )&opentelemetry.semconv.air   opentelemetry.tracer   r   r   r   
get_tracergetint	timestamp
start_spanCLIENTis_recordingset_attributeLLM_REQUEST_MODELLLM_CHAT_STOP_SEQUENCESLLM_FREQUENCY_PENALTYLLM_PRESENCE_PENALTYLLM_REQUEST_TOP_PLLM_REQUEST_FUNCTIONSLLM_USERLLM_REQUEST_MAX_TOKENSLLM_REQUEST_TEMPERATURE	enumerateLLM_PROMPTSLLM_RESPONSE_MODELLLM_USAGE_TOTAL_TOKENSLLM_USAGE_COMPLETION_TOKENSLLM_USAGE_PROMPT_TOKENSLLM_COMPLETIONS
isinstancestrrecord_exception	Exception
set_statusr5   end)r   kwargsresponse_objr   end_timeuser_idprint_verboselevelstatus_messager   r   r   r   tracerr   spanidxpromptr.   choicer   s                        r   	log_eventzTraceloopLogger.log_event   s    	<DDn	:HQ ((335F$jj):B?OZ1134J8--/0H$$$8??z % D   """"44fjj6I _,&&&>>'++F3 '/9&&&<<'++,?@ &8&&&;;'++,>? o-&&&88/:M:Mg:V o-1O&&&<<'++G_5H5H5UV _,&&&//1D1DV1L  ?2&&&==

<0 !O3&&&>>

=1
 $-VZZ
-C#DKC&&)556auEB

6* &&)556auHE

9- $E """55|7G7G7P %((1&&&==		.1 &&&BB		"56 &&&>>		/2
 $-\-=-=i-H#IKC&&)99:!C5O

?3 &&)99:!C5F

9-11&9 &&)99:!C5I

9-11)< $J  ".~s3%%i&?@z'7'7 HIHHX 	:4QC899	:s   S	S 	S:%S55S:)DEFAULTN)__name__
__module____qualname____doc__r   rb        r   r   r      s    
.0 |:ri   r   )r   litellm._loggingr   r   rh   ri   r   <module>rk      s     +R: R:ri   