From 676a35fa8bee9a261a9ae12e7ebab46e80ce0f0e Mon Sep 17 00:00:00 2001 From: Gao Han Date: Sat, 29 Aug 2026 23:27:47 +0800 Subject: [PATCH] Fix MiniCPM-o concurrent audio first-packet latency (#6767) Signed-off-by: Gao Han --- tests/config/test_config_factory.py | 2 +- vllm_omni/deploy/minicpmo_4_5.yaml | 4 +++- vllm_omni/deploy/minicpmo_4_5_2gpu.yaml | 4 +++- vllm_omni/deploy/minicpmo_4_5_3gpu.yaml | 4 +++- 4 files changed, 10 insertions(+), 4 deletions(-) diff --git a/tests/config/test_config_factory.py b/tests/config/test_config_factory.py index 9ba96dd89..078fab250 100644 --- a/tests/config/test_config_factory.py +++ b/tests/config/test_config_factory.py @@ -1159,7 +1159,7 @@ class TestDeployConfigLoading: stages = merge_pipeline_deploy(pipeline, deploy) assert deploy.session_mode == "duplex" - assert deploy.active_stream_window == 1 + assert deploy.active_stream_window == max_sessions assert deploy.duplex_session.max_sessions == max_sessions assert [stage.session_mode for stage in stages] == ["duplex", "duplex", "duplex"] assert [stage.to_omegaconf().session_mode for stage in stages] == ["duplex", "duplex", "duplex"] diff --git a/vllm_omni/deploy/minicpmo_4_5.yaml b/vllm_omni/deploy/minicpmo_4_5.yaml index 9e5a2dec9..6903fcae0 100644 --- a/vllm_omni/deploy/minicpmo_4_5.yaml +++ b/vllm_omni/deploy/minicpmo_4_5.yaml @@ -4,7 +4,9 @@ async_chunk: true # Native full-duplex shares this profile with /v1/chat/completions. Every other # duplex_session knob keeps its runtime default. session_mode: duplex -active_stream_window: 1 +# Keep the active window aligned with the session and stage capacities below. +# A smaller window serializes first-packet generation for concurrent chat turns. +active_stream_window: 4 duplex_session: # Matches Stage 0/1 max_num_seqs below. max_sessions: 4 diff --git a/vllm_omni/deploy/minicpmo_4_5_2gpu.yaml b/vllm_omni/deploy/minicpmo_4_5_2gpu.yaml index 9cc6fd302..9c3818813 100644 --- a/vllm_omni/deploy/minicpmo_4_5_2gpu.yaml +++ b/vllm_omni/deploy/minicpmo_4_5_2gpu.yaml @@ -7,7 +7,9 @@ async_chunk: true # Native full-duplex shares this profile with /v1/chat/completions. Every other # duplex_session knob keeps its runtime default. session_mode: duplex -active_stream_window: 1 +# Keep the active window aligned with the session and stage capacities below. +# A smaller window serializes first-packet generation for concurrent chat turns. +active_stream_window: 4 duplex_session: # Matches Stage 0/1 max_num_seqs below. max_sessions: 4 diff --git a/vllm_omni/deploy/minicpmo_4_5_3gpu.yaml b/vllm_omni/deploy/minicpmo_4_5_3gpu.yaml index c179824a2..5eddbb6f4 100644 --- a/vllm_omni/deploy/minicpmo_4_5_3gpu.yaml +++ b/vllm_omni/deploy/minicpmo_4_5_3gpu.yaml @@ -7,7 +7,9 @@ async_chunk: true # Native full-duplex shares this profile with /v1/chat/completions. Every other # duplex_session knob keeps its runtime default. session_mode: duplex -active_stream_window: 1 +# Keep the active window aligned with the session and stage capacities below. +# A smaller window serializes first-packet generation for concurrent chat turns. +active_stream_window: 4 duplex_session: # Matches Stage 0/1 max_num_seqs below. max_sessions: 4