Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 18 additions & 13 deletions agentops/instrumentation/providers/openai/instrumentor.py
Original file line number Diff line number Diff line change
Expand Up @@ -109,19 +109,6 @@ def _custom_wrap(self, **kwargs):
async_chat_completion_stream_wrapper(self._tracer),
)

# Beta chat completion streaming wrappers
wrap_function_wrapper(
"openai.resources.beta.chat.completions",
"Completions.parse",
chat_completion_stream_wrapper(self._tracer),
)

wrap_function_wrapper(
"openai.resources.beta.chat.completions",
"AsyncCompletions.parse",
async_chat_completion_stream_wrapper(self._tracer),
)

# Responses API streaming wrappers
wrap_function_wrapper(
"openai.resources.responses",
Expand All @@ -136,6 +123,24 @@ def _custom_wrap(self, **kwargs):
)
except Exception as e:
logger.warning(f"[OPENAI INSTRUMENTOR] Error setting up OpenAI streaming wrappers: {e}")

# Beta chat completion wrappers (separate try/except because
# openai.resources.beta.chat was removed in newer openai SDK
# versions; a failure here should not prevent the main streaming
# wrappers from being applied).
try:
wrap_function_wrapper(
"openai.resources.beta.chat.completions",
"Completions.parse",
chat_completion_stream_wrapper(self._tracer),
)
wrap_function_wrapper(
"openai.resources.beta.chat.completions",
"AsyncCompletions.parse",
async_chat_completion_stream_wrapper(self._tracer),
)
except Exception:
pass # Module not available in this openai version
else:
if not is_openai_v1():
logger.debug("[OPENAI INSTRUMENTOR] Skipping custom wrapping - not using OpenAI v1")
Expand Down