[Core][Frontend] Bound duplex output delivery and reject cancelled audio (#7644)

Signed-off-by: Nolen Liang <nliang@nvidia.com>
Signed-off-by: bcsdhjew <nliang@nvidia.com>
This commit is contained in:
bcsdhjew authored and GitHub committed 2026-10-04 14:06:04 -07:00
1 parent 3f20252151
commit f781f7bb08
26 files changed
+1170 -147

No files matched your search

@@ -27,6 +27,7 @@ from vllm_omni.engine.duplex.commands import (
UpdateSession,
)
from vllm_omni.engine.duplex.config import DuplexSessionConfig
from vllm_omni.engine.duplex.delivery import DuplexOutputBuffer
from vllm_omni.engine.duplex.messages import OpenDuplexSessionMessage
from vllm_omni.engine.duplex.plugin import DuplexRuntimeConfigError
from vllm_omni.engine.duplex.session.manager import DuplexSessionManager
@@ -77,6 +78,7 @@ async def open_qwen():
port = RecordingStagePort(stage_count=3)
output: asyncio.Queue[Any] = asyncio.Queue()
results: asyncio.Queue[Any] = asyncio.Queue()
output_buffer = DuplexOutputBuffer(max_bytes=2 * 1024 * 1024, max_events=512)
manager = DuplexSessionManager(
plugin=plugin,
stage_port=port,
@@ -86,10 +88,21 @@ async def open_qwen():
model_config=None,
)
config = DuplexSessionConfig(model="qwen", modalities=["text", "audio"], overlap_policy="barge_in_on_speech")
await manager.handle(OpenDuplexSessionMessage(control_id="open", session_id=SESSION_ID, session_config=config))
await manager.handle(
OpenDuplexSessionMessage(
control_id="open", session_id=SESSION_ID, session_config=config, output_buffer=output_buffer
)
)
result = await results.get()
assert result.ok, result
harness = Harness(manager, port, output, results, manager.runners[SESSION_ID])
harness = Harness(
manager=manager,
port=port,
output=output,
output_buffer=output_buffer,
results=results,
runner=manager.runners[SESSION_ID],
)
await harness.settle()
return harness