vllm_omni.worker_v2.omni_sampler ¶
One sampler registration contract for token and post-sampling audio output.
StandardSample module-attribute ¶
StandardSample = Callable[
[torch.Tensor, InputBatch, GrammarOutput | None],
tuple[SamplerOutput, torch.Tensor, torch.Tensor],
]
OmniSampler ¶
Register through ModelState.custom_sampler, just like an upstream sampler.
Delegate request lifecycle/state to the original sampler without copying its attributes. Models can override call for logits-only adjustments, or sample_step when sampling also produces audio. Both use one registered sampler and one result contract; there is no separate ModelState step hook.
sample_step ¶
sample_step(
hidden_states: Tensor,
input_batch: InputBatch,
req_states: RequestState,
grammar_output: GrammarOutput | None,
standard_sample: StandardSample,
) -> OmniSamplingOutput
OmniSamplingOutput dataclass ¶
sample_with_output ¶
sample_with_output(
sampler: Sampler | OmniSampler | None,
standard_sample: StandardSample,
hidden_states: Tensor,
input_batch: InputBatch,
req_states: RequestState,
grammar_output: GrammarOutput | None,
) -> OmniSamplingOutput