Skip to content

Commit 0bd8fba

Browse files
committed
fix(integrations): openai-agents fix multi-patching of get_model function
1 parent 05e1bff commit 0bd8fba

File tree

1 file changed

+9
-1
lines changed
  • sentry_sdk/integrations/openai_agents/patches

1 file changed

+9
-1
lines changed

sentry_sdk/integrations/openai_agents/patches/models.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,10 @@ def wrapped_get_model(cls, agent, run_config):
3232
# type: (agents.Runner, agents.Agent, agents.RunConfig) -> agents.Model
3333

3434
model = original_get_model(agent, run_config)
35-
original_get_response = model.get_response
35+
36+
# check if we have already patched this model
37+
if getattr(model, "_sentry_wrapped_get_model", False):
38+
return model
3639

3740
# Wrap _fetch_response if it exists (for OpenAI models) to capture raw response model
3841
if hasattr(model, "_fetch_response"):
@@ -48,6 +51,8 @@ async def wrapped_fetch_response(*args, **kwargs):
4851

4952
model._fetch_response = wrapped_fetch_response
5053

54+
original_get_response = model.get_response
55+
5156
@wraps(original_get_response)
5257
async def wrapped_get_response(*args, **kwargs):
5358
# type: (*Any, **Any) -> Any
@@ -70,6 +75,9 @@ async def wrapped_get_response(*args, **kwargs):
7075

7176
model.get_response = wrapped_get_response
7277

78+
# set marker that we have already patched this model
79+
model._sentry_wrapped_get_model = True
80+
7381
return model
7482

7583
return wrapped_get_model

0 commit comments

Comments
 (0)