[Bugfix][Frontend] Preserve caller parameters in offline pooling (#58842)

Signed-off-by: 子华 <huaxi.shx@alibaba-inc.com> Co-authored-by: Codex <noreply@openai.com>

shaohuaxi committed Sep 28, 2026 at 22:02 UTC 36768d1bfd39094681cdbc8cb37d4b31c0729c89
2 files changed +5 -2
vllm/entrypoints/pooling/base/io_processor.py
+4 -1
@@ -207,7 +207,10 @@ class PoolingIOProcessor:
207 else:
208 pooling_params = ctx.pooling_params
209
210 - params_seq = self._params_to_seq(pooling_params, num_requests)
210 + # Clone to avoid modifying the caller's pooling parameters.
211 + params_seq = [
212 + param.clone() for param in self._params_to_seq(pooling_params, num_requests)
213 + ]
214
215 for param in params_seq:
216 if param.task is None:
vllm/entrypoints/pooling/pooling/io_processor.py
+1 -1
@@ -168,7 +168,7 @@ class PluginWithIOProcessorPlugins(PoolingIOProcessor):
168 pooling_params = ctx.pooling_params
169
170 params_seq: list[PoolingParams] = [
171 - self.io_processor.merge_pooling_params(param)
171 + self.io_processor.merge_pooling_params(param.clone())
172 for param in self._params_to_seq(
173 pooling_params,
174 num_requests,