@@ -225,7 +225,7 @@ def _commmon_set_input_data(
225225 kwargs : "dict[str, Any]" ,
226226) -> None :
227227 # Input attributes: Common
228- set_data_normalized ( span , SPANDATA .GEN_AI_SYSTEM , "openai" )
228+ span . set_data ( SPANDATA .GEN_AI_SYSTEM , "openai" )
229229
230230 # Input attributes: Optional
231231 kwargs_keys_to_attributes = {
@@ -241,26 +241,25 @@ def _commmon_set_input_data(
241241 value = kwargs .get (key )
242242
243243 if value is not None and _is_given (value ):
244- set_data_normalized ( span , attribute , value )
244+ span . set_data ( attribute , value )
245245
246246 # Input attributes: Tools
247247 tools = kwargs .get ("tools" )
248248 if tools is not None and _is_given (tools ) and len (tools ) > 0 :
249- set_data_normalized (
250- span , SPANDATA .GEN_AI_REQUEST_AVAILABLE_TOOLS , safe_serialize (tools )
251- )
249+ span .set_data (SPANDATA .GEN_AI_REQUEST_AVAILABLE_TOOLS , safe_serialize (tools ))
252250
253251
254252def _set_responses_api_input_data (
255253 span : "Span" ,
256254 kwargs : "dict[str, Any]" ,
257255 integration : "OpenAIIntegration" ,
258256) -> None :
257+ span .set_data (SPANDATA .GEN_AI_OPERATION_NAME , "responses" )
258+
259259 explicit_instructions : "Union[Optional[str], Omit]" = kwargs .get ("instructions" )
260260 messages : "Optional[Union[str, ResponseInputParam]]" = kwargs .get ("input" )
261261
262262 if not should_send_default_pii () or not integration .include_prompts :
263- set_data_normalized (span , SPANDATA .GEN_AI_OPERATION_NAME , "responses" )
264263 _commmon_set_input_data (span , kwargs )
265264 return
266265
@@ -281,12 +280,10 @@ def _set_responses_api_input_data(
281280 ),
282281 )
283282
284- set_data_normalized (span , SPANDATA .GEN_AI_OPERATION_NAME , "responses" )
285283 _commmon_set_input_data (span , kwargs )
286284 return
287285
288286 if messages is None :
289- set_data_normalized (span , SPANDATA .GEN_AI_OPERATION_NAME , "responses" )
290287 _commmon_set_input_data (span , kwargs )
291288 return
292289
@@ -319,7 +316,6 @@ def _set_responses_api_input_data(
319316 span , SPANDATA .GEN_AI_REQUEST_MESSAGES , messages_data , unpack = False
320317 )
321318
322- set_data_normalized (span , SPANDATA .GEN_AI_OPERATION_NAME , "responses" )
323319 _commmon_set_input_data (span , kwargs )
324320 return
325321
@@ -335,7 +331,6 @@ def _set_responses_api_input_data(
335331 span , SPANDATA .GEN_AI_REQUEST_MESSAGES , messages_data , unpack = False
336332 )
337333
338- set_data_normalized (span , SPANDATA .GEN_AI_OPERATION_NAME , "responses" )
339334 _commmon_set_input_data (span , kwargs )
340335
341336
@@ -344,6 +339,8 @@ def _set_completions_api_input_data(
344339 kwargs : "dict[str, Any]" ,
345340 integration : "OpenAIIntegration" ,
346341) -> None :
342+ span .set_data (SPANDATA .GEN_AI_OPERATION_NAME , "chat" )
343+
347344 messages : "Optional[Union[str, Iterable[ChatCompletionMessageParam]]]" = kwargs .get (
348345 "messages"
349346 )
@@ -353,7 +350,6 @@ def _set_completions_api_input_data(
353350 or not integration .include_prompts
354351 or messages is None
355352 ):
356- set_data_normalized (span , SPANDATA .GEN_AI_OPERATION_NAME , "chat" )
357353 _commmon_set_input_data (span , kwargs )
358354 return
359355
@@ -365,13 +361,11 @@ def _set_completions_api_input_data(
365361 set_data_normalized (
366362 span , SPANDATA .GEN_AI_REQUEST_MESSAGES , messages_data , unpack = False
367363 )
368- set_data_normalized (span , SPANDATA .GEN_AI_OPERATION_NAME , "chat" )
369364 _commmon_set_input_data (span , kwargs )
370365 return
371366
372367 # dict special case following https://github.com/openai/openai-python/blob/3e0c05b84a2056870abf3bd6a5e7849020209cc3/src/openai/_utils/_transform.py#L194-L197
373368 if not isinstance (messages , Iterable ) or isinstance (messages , dict ):
374- set_data_normalized (span , SPANDATA .GEN_AI_OPERATION_NAME , "chat" )
375369 _commmon_set_input_data (span , kwargs )
376370 return
377371
@@ -399,7 +393,6 @@ def _set_completions_api_input_data(
399393 span , SPANDATA .GEN_AI_REQUEST_MESSAGES , messages_data , unpack = False
400394 )
401395
402- set_data_normalized (span , SPANDATA .GEN_AI_OPERATION_NAME , "chat" )
403396 _commmon_set_input_data (span , kwargs )
404397
405398
@@ -408,6 +401,8 @@ def _set_embeddings_input_data(
408401 kwargs : "dict[str, Any]" ,
409402 integration : "OpenAIIntegration" ,
410403) -> None :
404+ span .set_data (SPANDATA .GEN_AI_OPERATION_NAME , "embeddings" )
405+
411406 messages : "Union[str, SequenceNotStr[str], Iterable[int], Iterable[Iterable[int]]]" = kwargs .get (
412407 "input"
413408 )
@@ -417,13 +412,11 @@ def _set_embeddings_input_data(
417412 or not integration .include_prompts
418413 or messages is None
419414 ):
420- set_data_normalized (span , SPANDATA .GEN_AI_OPERATION_NAME , "embeddings" )
421415 _commmon_set_input_data (span , kwargs )
422416
423417 return
424418
425419 if isinstance (messages , str ):
426- set_data_normalized (span , SPANDATA .GEN_AI_OPERATION_NAME , "embeddings" )
427420 _commmon_set_input_data (span , kwargs )
428421
429422 normalized_messages = normalize_message_roles ([messages ]) # type: ignore
@@ -440,7 +433,6 @@ def _set_embeddings_input_data(
440433
441434 # dict special case following https://github.com/openai/openai-python/blob/3e0c05b84a2056870abf3bd6a5e7849020209cc3/src/openai/_utils/_transform.py#L194-L197
442435 if not isinstance (messages , Iterable ) or isinstance (messages , dict ):
443- set_data_normalized (span , SPANDATA .GEN_AI_OPERATION_NAME , "embeddings" )
444436 _commmon_set_input_data (span , kwargs )
445437 return
446438
@@ -458,7 +450,6 @@ def _set_embeddings_input_data(
458450 span , SPANDATA .GEN_AI_EMBEDDINGS_INPUT , messages_data , unpack = False
459451 )
460452
461- set_data_normalized (span , SPANDATA .GEN_AI_OPERATION_NAME , "embeddings" )
462453 _commmon_set_input_data (span , kwargs )
463454
464455
@@ -471,7 +462,7 @@ def _set_output_data(
471462 finish_span : bool = True ,
472463) -> None :
473464 if hasattr (response , "model" ):
474- set_data_normalized ( span , SPANDATA .GEN_AI_RESPONSE_MODEL , response .model )
465+ span . set_data ( SPANDATA .GEN_AI_RESPONSE_MODEL , response .model )
475466
476467 # Input messages (the prompt or data sent to the model)
477468 # used for the token usage calculation
@@ -583,9 +574,7 @@ def new_iterator() -> "Iterator[ChatCompletionChunk]":
583574
584575 with capture_internal_exceptions ():
585576 if ttft is not None :
586- set_data_normalized (
587- span , SPANDATA .GEN_AI_RESPONSE_TIME_TO_FIRST_TOKEN , ttft
588- )
577+ span .set_data (SPANDATA .GEN_AI_RESPONSE_TIME_TO_FIRST_TOKEN , ttft )
589578 if len (data_buf ) > 0 :
590579 all_responses = ["" .join (chunk ) for chunk in data_buf ]
591580 if should_send_default_pii () and integration .include_prompts :
0 commit comments