Files
vllm-omni/vllm_omni/outputs/duplex.py
T
2026-09-05 08:20:21 +00:00

37 lines
991 B
Python

# SPDX-License-Identifier: Apache-2.0
# SPDX-FileCopyrightText: Copyright contributors to the vLLM-Omni project
from __future__ import annotations
from typing import Any
from vllm_omni.outputs import OmniRequestOutput
DUPLEX_OUTPUT_DECISION_KEY = "_vllm_omni.duplex.duplex_output_decision"
def attach_duplex_output_decision(
output: OmniRequestOutput,
decision: object,
) -> OmniRequestOutput:
custom_output = dict(output._custom_output)
custom_output[DUPLEX_OUTPUT_DECISION_KEY] = decision
output._custom_output = custom_output
return output
def get_duplex_output_decision(output: object) -> Any | None:
if not isinstance(output, OmniRequestOutput):
return None
custom_output = output._custom_output
if not isinstance(custom_output, dict):
return None
return custom_output.get(DUPLEX_OUTPUT_DECISION_KEY)
__all__ = [
"DUPLEX_OUTPUT_DECISION_KEY",
"attach_duplex_output_decision",
"get_duplex_output_decision",
]