diff --git a/vllm/entrypoints/pooling/base/io_processor.py b/vllm/entrypoints/pooling/base/io_processor.py index 05ec69e44a..0d9431f022 100644 --- a/vllm/entrypoints/pooling/base/io_processor.py +++ b/vllm/entrypoints/pooling/base/io_processor.py @@ -207,7 +207,10 @@ class PoolingIOProcessor: else: pooling_params = ctx.pooling_params - params_seq = self._params_to_seq(pooling_params, num_requests) + # Clone to avoid modifying the caller's pooling parameters. + params_seq = [ + param.clone() for param in self._params_to_seq(pooling_params, num_requests) + ] for param in params_seq: if param.task is None: diff --git a/vllm/entrypoints/pooling/pooling/io_processor.py b/vllm/entrypoints/pooling/pooling/io_processor.py index 4b18cfc9e1..d5132f2a66 100644 --- a/vllm/entrypoints/pooling/pooling/io_processor.py +++ b/vllm/entrypoints/pooling/pooling/io_processor.py @@ -168,7 +168,7 @@ class PluginWithIOProcessorPlugins(PoolingIOProcessor): pooling_params = ctx.pooling_params params_seq: list[PoolingParams] = [ - self.io_processor.merge_pooling_params(param) + self.io_processor.merge_pooling_params(param.clone()) for param in self._params_to_seq( pooling_params, num_requests,