Skip to content

Commit 90897c2

Browse files
lk-chenminpeter
authored andcommitted
[Bugfix] Add kwargs to RequestOutput __init__ to be forward compatible (vllm-project#18513)
Signed-off-by: Linkun <github@lkchen.net> Signed-off-by: minpeter <kali2005611@gmail.com>
1 parent afe4301 commit 90897c2

File tree

3 files changed

+24
-0
lines changed

3 files changed

+24
-0
lines changed

.buildkite/test-pipeline.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ steps:
5959
- pytest -v -s async_engine # AsyncLLMEngine
6060
- NUM_SCHEDULER_STEPS=4 pytest -v -s async_engine/test_async_llm_engine.py
6161
- pytest -v -s test_inputs.py
62+
- pytest -v -s test_outputs.py
6263
- pytest -v -s multimodal
6364
- pytest -v -s test_utils.py # Utils
6465
- pytest -v -s worker # Worker

tests/test_outputs.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# SPDX-License-Identifier: Apache-2.0
2+
3+
from vllm.outputs import RequestOutput
4+
5+
6+
def test_request_output_forward_compatible():
7+
output = RequestOutput(request_id="test_request_id",
8+
prompt="test prompt",
9+
prompt_token_ids=[1, 2, 3],
10+
prompt_logprobs=None,
11+
outputs=[],
12+
finished=False,
13+
example_arg_added_in_new_version="some_value")
14+
assert output is not None

vllm/outputs.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,15 @@
99
import torch
1010
from typing_extensions import TypeVar, deprecated
1111

12+
from vllm.logger import init_logger
1213
from vllm.lora.request import LoRARequest
1314
from vllm.multimodal.inputs import MultiModalPlaceholderDict
1415
from vllm.sampling_params import RequestOutputKind
1516
from vllm.sequence import (PromptLogprobs, RequestMetrics, SampleLogprobs,
1617
SequenceGroup, SequenceGroupBase, SequenceStatus)
1718

19+
logger = init_logger(__name__)
20+
1821

1922
@dataclass
2023
class CompletionOutput:
@@ -122,7 +125,13 @@ def __init__(
122125
*,
123126
multi_modal_placeholders: Optional[MultiModalPlaceholderDict] = None,
124127
kv_transfer_params: Optional[dict[str, Any]] = None,
128+
# Forward compatibility, code that uses args added in new release can
129+
# still run with older versions of vLLM without breaking.
130+
**kwargs: Any,
125131
) -> None:
132+
if kwargs:
133+
logger.warning_once("RequestOutput: Ignoring extra arguments: %s",
134+
str(kwargs))
126135
self.request_id = request_id
127136
self.prompt = prompt
128137
self.prompt_token_ids = prompt_token_ids

0 commit comments

Comments
 (0)