Skip to content

vllm_omni.model_executor.common.duplex.data_plane

Data plane for models whose final stage streams cumulative audio and text.

The stage runner re-sends the whole waveform (and transcript) it has produced so far for one request; the session needs only what is new. This data plane keeps one cursor per request, slices the delta, encodes it for the wire and reports it as one internal response.output_audio.delta-shaped result. Model-specific constants (stage role, runtime metadata, default rate) are class attributes for a subclass to set.

EncodeAudio module-attribute

EncodeAudio = Callable[
    [object, int, str, float | None], str | None
]

CumulativeAudioTextDataPlane

Bases: DuplexDataPlane

Project cumulative staged audio/text output into per-request deltas.

default_sample_rate_hz class-attribute instance-attribute

default_sample_rate_hz: int = 24000

owned_runtime class-attribute instance-attribute

owned_runtime: bool = False

runner_kv_backed class-attribute instance-attribute

runner_kv_backed: bool = True

runtime_impl class-attribute instance-attribute

runtime_impl: str = 'scheduler_data_plane'

stage_role class-attribute instance-attribute

stage_role: str = 'tts'

uses_model_runner_scheduler class-attribute instance-attribute

uses_model_runner_scheduler: bool = True

begin_request

begin_request(request_id: str) -> None

close_session

close_session(
    session_id: str, *, active_request_id: str | None = None
) -> None

close_stream

close_stream(request_id: str) -> None

is_terminal

is_terminal(request_id: str | None) -> bool

mark_terminal

mark_terminal(request_id: str) -> None

project

project(
    result: object, *, context: object | None = None
) -> Iterator[dict[str, object]]