vllm_omni.engine.duplex_omni_engine ¶
DuplexOmniEngine: the duplex engine sibling of AsyncOmniEngine.
It is deliberately small. The engine base owns the stage processes, the orchestrator thread and the correlated RPC transport; this class only knows how duplex session messages enter the engine (open/close/resume/touch through correlated RPC, session commands one-way) and which orchestrator to build (DuplexOrchestrator with the model plugin loaded).
DuplexOmniEngine ¶
Bases: AsyncOmniEngine
Engine for full-duplex models; sessions run inside DuplexOrchestrator.
close_session_async async ¶
close_session_async(
session_id: str,
*,
reason: str = "client_close",
timeout: float | None = _DEFAULT_CONTROL_TIMEOUT_S,
) -> DuplexControlResultMessage
open_session_async async ¶
open_session_async(
session_id: str,
session_config: DuplexSessionConfig,
*,
timeout: float | None = _DEFAULT_CONTROL_TIMEOUT_S,
) -> DuplexControlResultMessage
resume_session_async async ¶
resume_session_async(
session_id: str,
*,
expected_lease_generation: int,
timeout: float | None = _DEFAULT_CONTROL_TIMEOUT_S,
) -> DuplexControlResultMessage
submit_command_async async ¶
submit_command_async(
session_id: str, command: DuplexCommand
) -> None
touch_session_async async ¶
touch_session_async(
session_id: str,
*,
activity: str,
timeout: float | None = _DEFAULT_CONTROL_TIMEOUT_S,
) -> DuplexControlResultMessage