[Frontend][Benchmark] Add duplex performance metrics for OmniInteract and Omni-DuplexEval benchmark (#7242)

This commit is contained in:
ZacheryAU authored and GitHub committed 2026-09-14 15:25:59 -07:00
1 parent 27f0e8c1ea
commit f062124ba4
21 files changed
+1484 -161

No files matched your search

+12 -7
View File
@@ -287,20 +287,25 @@ async def test_seed_tts_realtime_duplex_exports_per_request_metrics(monkeypatch)
"ttft": "conversation.item.create client send to first non-empty text delta",
"ttfp": "conversation.item.create client send to first audio packet",
"rtf": "request-start-to-last-audio receive time divided by emitted audio duration",
"tpot": "Stage-0 engine mean time per output token",
},
"ttft_ms": pytest.approx(20.0, abs=2.0),
"tpot_ms": 10.0,
"ttfp_ms": pytest.approx(30.0, abs=2.0),
"rtf": pytest.approx(0.3, abs=0.03),
"audio_generation_ms": pytest.approx(30.0, abs=2.0),
"audio_duration_ms": 100.0,
}
assert output.duplex_session_metrics == {
"session_id": session_id,
"audio_turn_count": 4,
"mean_ttft_ms": pytest.approx(20.0, abs=2.0),
"mean_ttfp_ms": pytest.approx(30.0, abs=2.0),
"mean_rtf": pytest.approx(0.3, abs=0.03),
}
session = output.duplex_session_metrics
assert session["session_id"] == session_id
assert session["audio_turn_count"] == 4
assert session["ttft_ms"]["count"] == 4
assert session["ttft_ms"]["mean"] == pytest.approx(20.0, abs=2.0)
assert session["tpot_ms"] == {"count": 4, "mean": 10.0, "p50": 10.0, "p99": 10.0}
assert session["ttfp_ms"]["count"] == 4
assert session["ttfp_ms"]["mean"] == pytest.approx(30.0, abs=2.0)
assert session["rtf"]["count"] == 4
assert session["rtf"]["mean"] == pytest.approx(0.3, abs=0.03)
def test_stage0_token_timings_use_weighted_tpot_when_itls_are_incomplete():