diff --git a/swift/llm/infer/infer_engine/vllm_engine.py b/swift/llm/infer/infer_engine/vllm_engine.py index 07850e6783..f9633a1aa2 100644 --- a/swift/llm/infer/infer_engine/vllm_engine.py +++ b/swift/llm/infer/infer_engine/vllm_engine.py @@ -307,6 +307,12 @@ def _prepare_generation_config(self, request_config: RequestConfig) -> SamplingP if kwargs.get('seed') is None: kwargs['seed'] = get_seed() res = SamplingParams(**kwargs) + + if hasattr(res, 'output_kind'): + # fix n > 1 in V1 Engine + from vllm.sampling_params import RequestOutputKind + res.output_kind = RequestOutputKind.FINAL_ONLY + res.top_logprobs = request_config.top_logprobs return res