diff --git a/sentry_sdk/integrations/openai.py b/sentry_sdk/integrations/openai.py index f47cd46384..da62bc267e 100644 --- a/sentry_sdk/integrations/openai.py +++ b/sentry_sdk/integrations/openai.py @@ -447,43 +447,9 @@ def _set_embeddings_input_data( "input" ) - tools = kwargs.get("tools") - if tools is not None and _is_given(tools) and len(tools) > 0: - set_data_normalized( - span, SPANDATA.GEN_AI_REQUEST_AVAILABLE_TOOLS, safe_serialize(tools) - ) - model = kwargs.get("model") - if model is not None and _is_given(model): - set_data_normalized(span, SPANDATA.GEN_AI_REQUEST_MODEL, model) - - stream = kwargs.get("stream") - if stream is not None and _is_given(stream): - set_data_normalized(span, SPANDATA.GEN_AI_RESPONSE_STREAMING, stream) - - max_tokens = kwargs.get("max_tokens") - if max_tokens is not None and _is_given(max_tokens): - set_data_normalized(span, SPANDATA.GEN_AI_REQUEST_MAX_TOKENS, max_tokens) - - presence_penalty = kwargs.get("presence_penalty") - if presence_penalty is not None and _is_given(presence_penalty): - set_data_normalized( - span, SPANDATA.GEN_AI_REQUEST_PRESENCE_PENALTY, presence_penalty - ) - - frequency_penalty = kwargs.get("frequency_penalty") - if frequency_penalty is not None and _is_given(frequency_penalty): - set_data_normalized( - span, SPANDATA.GEN_AI_REQUEST_FREQUENCY_PENALTY, frequency_penalty - ) - - temperature = kwargs.get("temperature") - if temperature is not None and _is_given(temperature): - set_data_normalized(span, SPANDATA.GEN_AI_REQUEST_TEMPERATURE, temperature) - - top_p = kwargs.get("top_p") - if top_p is not None and _is_given(top_p): - set_data_normalized(span, SPANDATA.GEN_AI_REQUEST_TOP_P, top_p) + if model is not None: + span.set_data(SPANDATA.GEN_AI_REQUEST_MODEL, model) if ( not should_send_default_pii() diff --git a/tests/integrations/openai/test_openai.py b/tests/integrations/openai/test_openai.py index 249a32b768..d0af8bd2f4 100644 --- a/tests/integrations/openai/test_openai.py +++ b/tests/integrations/openai/test_openai.py @@ -1045,6 +1045,7 @@ def test_embeddings_create_no_pii( span = tx["spans"][0] assert span["op"] == "gen_ai.embeddings" assert span["data"][SPANDATA.GEN_AI_SYSTEM] == "openai" + assert span["data"][SPANDATA.GEN_AI_REQUEST_MODEL] == "text-embedding-3-large" assert SPANDATA.GEN_AI_EMBEDDINGS_INPUT not in span["data"] @@ -1126,6 +1127,7 @@ def test_embeddings_create(sentry_init, capture_events, input, request): span = tx["spans"][0] assert span["op"] == "gen_ai.embeddings" assert span["data"][SPANDATA.GEN_AI_SYSTEM] == "openai" + assert span["data"][SPANDATA.GEN_AI_REQUEST_MODEL] == "text-embedding-3-large" param_id = request.node.callspec.id if param_id == "string": @@ -1198,6 +1200,7 @@ async def test_embeddings_create_async_no_pii( span = tx["spans"][0] assert span["op"] == "gen_ai.embeddings" assert span["data"][SPANDATA.GEN_AI_SYSTEM] == "openai" + assert span["data"][SPANDATA.GEN_AI_REQUEST_MODEL] == "text-embedding-3-large" assert SPANDATA.GEN_AI_EMBEDDINGS_INPUT not in span["data"] @@ -1282,6 +1285,7 @@ async def test_embeddings_create_async(sentry_init, capture_events, input, reque span = tx["spans"][0] assert span["op"] == "gen_ai.embeddings" assert span["data"][SPANDATA.GEN_AI_SYSTEM] == "openai" + assert span["data"][SPANDATA.GEN_AI_REQUEST_MODEL] == "text-embedding-3-large" param_id = request.node.callspec.id if param_id == "string":