Skip to main content
Install:

Usage

Returning {"output": ..., "metadata": {"model": resp.model}} records which model produced each response, powering the Sovereignty & Portability breakdown in the report.

With tracing

There’s no auto-instrumentation for the raw openai package (unlike Anthropic’s patch_anthropic_client), so wrap the call in tracer.trace(..., sync=True) to get a trace out of it, whether for evaluation or production use. sync=True blocks until AgentX has ingested the trace, so span.trace_id is populated by the time the with block exits. The default (fire-and-forget) mode never learns the trace_id. Returning trace_id alongside output is what makes the result’s “Message Trace Details → Execution Timeline” viewable in the dashboard, not just the score:
trace_id is optional; everything else about the run is unchanged whether or not you include it.

Full example

Everything together: building a dataset, publishing a reusable grading config, running the agent with tracing, and reading results at every stage:
Each result’s dashboard row now has a “View trace” action opening the full Execution Timeline recorded in step 3, not just the rating. A complete working example, with tool use and a reasoning-model (o4-mini) variant, is available as openai_eval.py in the AgentX-Python repository.