Skip to content

Commit 0eb823c

Browse files
fix(python): Set llm OAI agent SDK spans to parent name for filtering (#2054)
## Description Currently all OAI agent spans names are "Response". This changes that to inherent the parent name for filtering
1 parent 0bfab58 commit 0eb823c

File tree

1 file changed

+17
-4
lines changed

1 file changed

+17
-4
lines changed

python/langsmith/wrappers/_openai_agents.py

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,7 @@ class RunData(TypedDict):
9797
dotted_order: str
9898
parent_run_id: Optional[str]
9999
project_name: Optional[str]
100+
name: Optional[str]
100101

101102
class OpenAIAgentsTracingProcessor(tracing.TracingProcessor): # type: ignore[no-redef]
102103
"""Tracing processor for the `OpenAI Agents SDK <https://openai.github.io/openai-agents-python/>`_.
@@ -211,6 +212,7 @@ def on_trace_start(self, trace: tracing.Trace) -> None:
211212
dotted_order=dotted_order,
212213
parent_run_id=parent_run_id,
213214
project_name=project_name,
215+
name=run_name,
214216
)
215217

216218
run_extra = {"metadata": self._metadata or {}}
@@ -285,19 +287,30 @@ def on_span_start(self, span: tracing.Span) -> None:
285287
run_id=span_run_id,
286288
parent_dotted_order=parent_run["dotted_order"] if parent_run else None,
287289
)
290+
run_name = agent_utils.get_run_name(span)
291+
if isinstance(span.span_data, tracing.ResponseSpanData):
292+
parent_name = parent_run.get("name")
293+
raw_span_name = getattr(span, "name", None) or getattr(
294+
span.span_data, "name", None
295+
)
296+
span_name = str(raw_span_name) if raw_span_name else run_name
297+
if parent_name:
298+
run_name = f"{parent_name} {span_name}".strip()
299+
else:
300+
run_name = span_name
301+
run_type = agent_utils.get_run_type(span)
302+
extracted = agent_utils.extract_span_data(span)
303+
288304
self._runs[span.span_id] = RunData(
289305
id=span_run_id,
290306
trace_id=trace_id,
291307
start_time=span_start_time,
292308
dotted_order=dotted_order,
293309
parent_run_id=parent_run["id"],
294310
project_name=parent_run["project_name"],
311+
name=run_name,
295312
)
296313

297-
run_name = agent_utils.get_run_name(span)
298-
run_type = agent_utils.get_run_type(span)
299-
extracted = agent_utils.extract_span_data(span)
300-
301314
try:
302315
run_data: dict = dict(
303316
name=run_name,

0 commit comments

Comments
 (0)