From c71f6f8a81d3d3c49a045c8b88eed36366cc7d92 Mon Sep 17 00:00:00 2001 From: Konstantin Dunas Date: Wed, 26 Aug 2026 08:42:52 -0700 Subject: [PATCH] [Bugfix] Thread kv_transfer_params into engine for /inference/v1/generate (disagg) (#42644) Signed-off-by: hallerite Co-authored-by: OpenAI Codex --- .../scale_out/token_in_token_out/serving.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/vllm/entrypoints/scale_out/token_in_token_out/serving.py b/vllm/entrypoints/scale_out/token_in_token_out/serving.py index bad27aab61..bbbd85137c 100644 --- a/vllm/entrypoints/scale_out/token_in_token_out/serving.py +++ b/vllm/entrypoints/scale_out/token_in_token_out/serving.py @@ -203,6 +203,16 @@ class ServingTokens(GenerateBaseServing): # Schedule the request and get the result generator. result_generator: AsyncGenerator[RequestOutput, None] | None = None + # Pass disaggregated-serving parameters through to the engine. + if request.kv_transfer_params is not None: + extra = sampling_params.extra_args or {} + extra["kv_transfer_params"] = request.kv_transfer_params + sampling_params.extra_args = extra + if request.ec_transfer_params is not None: + extra = sampling_params.extra_args or {} + extra["ec_transfer_params"] = request.ec_transfer_params + sampling_params.extra_args = extra + # Apply server-side ``max_tokens`` defaulting when the client did # not set it, matching the OpenAI-compat endpoints. ``SamplingParams`` # defaults ``max_tokens`` to 16, which would otherwise silently cap