Skip to content

Commit 77929e9

Browse files
author
Michiel De Witte
committed
Performance: only create the OpenAIRealtimeServerEvent TypeAdapter once
1 parent 2b8c408 commit 77929e9

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

src/agents/realtime/openai_realtime.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,7 @@ def __init__(self) -> None:
142142
self._tracing_config: RealtimeModelTracingConfig | Literal["auto"] | None = None
143143
self._playback_tracker: RealtimePlaybackTracker | None = None
144144
self._created_session: OpenAISessionObject | None = None
145+
self._server_event_type_adapter = TypeAdapter(OpenAIRealtimeServerEvent)
145146

146147
async def connect(self, options: RealtimeModelConfig) -> None:
147148
"""Establish a connection to the model and keep it alive."""
@@ -462,9 +463,9 @@ async def _handle_ws_event(self, event: dict[str, Any]):
462463
try:
463464
if "previous_item_id" in event and event["previous_item_id"] is None:
464465
event["previous_item_id"] = "" # TODO (rm) remove
465-
parsed: OpenAIRealtimeServerEvent = TypeAdapter(
466-
OpenAIRealtimeServerEvent
467-
).validate_python(event)
466+
parsed: OpenAIRealtimeServerEvent = self._server_event_type_adapter.validate_python(
467+
event
468+
)
468469
except pydantic.ValidationError as e:
469470
logger.error(f"Failed to validate server event: {event}", exc_info=True)
470471
await self._emit_event(

0 commit comments

Comments
 (0)