From 64e7f157144ebfedc7e03b50b8082dd48c352bd6 Mon Sep 17 00:00:00 2001 From: Alexander Alderman Webb Date: Wed, 18 Mar 2026 11:15:47 +0100 Subject: [PATCH 1/2] fix(openai): Drop handling of unsupported kwargs in embeddings --- sentry_sdk/integrations/openai.py | 32 ++---------------------- tests/integrations/openai/test_openai.py | 4 +++ 2 files changed, 6 insertions(+), 30 deletions(-) diff --git a/sentry_sdk/integrations/openai.py b/sentry_sdk/integrations/openai.py index a82c406ad7..8c955d8da5 100644 --- a/sentry_sdk/integrations/openai.py +++ b/sentry_sdk/integrations/openai.py @@ -450,36 +450,8 @@ def _set_embeddings_input_data( ) 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": From e480f64763c099a95e6548e85cb24fe708405fad Mon Sep 17 00:00:00 2001 From: Alexander Alderman Webb Date: Wed, 18 Mar 2026 11:27:07 +0100 Subject: [PATCH 2/2] . --- sentry_sdk/integrations/openai.py | 6 ------ 1 file changed, 6 deletions(-) diff --git a/sentry_sdk/integrations/openai.py b/sentry_sdk/integrations/openai.py index 79dad66da7..da62bc267e 100644 --- a/sentry_sdk/integrations/openai.py +++ b/sentry_sdk/integrations/openai.py @@ -447,12 +447,6 @@ 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: span.set_data(SPANDATA.GEN_AI_REQUEST_MODEL, model)