Skip to content

Commit 14f0b39

Browse files
authored
[Bugfix] Fix a bug in RequestOutput.finished (#202)
1 parent 2e0d314 commit 14f0b39

File tree

4 files changed

+10
-8
lines changed

4 files changed

+10
-8
lines changed

examples/llm_engine_example.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ def main(args: argparse.Namespace):
3030

3131
request_outputs = engine.step()
3232
for request_output in request_outputs:
33-
if request_output.finished():
33+
if request_output.finished:
3434
print(request_output)
3535

3636
if not (engine.has_unfinished_requests() or test_prompts):

vllm/engine/async_llm_engine.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ async def generate(
154154
yield request_output
155155

156156
# Once finished, release the resources of the sequence group.
157-
if request_output.finished():
157+
if request_output.finished:
158158
if self.log_requests:
159159
logger.info(f"Finished request {request_id}.")
160160

vllm/entrypoints/llm.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ def _run_engine(self, use_tqdm: bool) -> List[RequestOutput]:
133133
while self.llm_engine.has_unfinished_requests():
134134
step_outputs = self.llm_engine.step()
135135
for output in step_outputs:
136-
if output.finished():
136+
if output.finished:
137137
outputs.append(output)
138138
if use_tqdm:
139139
pbar.update(1)

vllm/outputs.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -60,11 +60,13 @@ def __init__(
6060
prompt: str,
6161
prompt_token_ids: List[int],
6262
outputs: List[CompletionOutput],
63+
finished: bool,
6364
) -> None:
6465
self.request_id = request_id
6566
self.prompt = prompt
6667
self.prompt_token_ids = prompt_token_ids
6768
self.outputs = outputs
69+
self.finished = finished
6870

6971
@classmethod
7072
def from_seq_group(cls, seq_group: SequenceGroup) -> "RequestOutput":
@@ -95,13 +97,13 @@ def from_seq_group(cls, seq_group: SequenceGroup) -> "RequestOutput":
9597
# Every sequence in the sequence group should have the same prompt.
9698
prompt = top_n_seqs[0].prompt
9799
prompt_token_ids = top_n_seqs[0].data.prompt_token_ids
98-
return cls(seq_group.request_id, prompt, prompt_token_ids, outputs)
100+
finished = seq_group.is_finished()
101+
return cls(seq_group.request_id, prompt, prompt_token_ids, outputs,
102+
finished)
99103

100104
def __repr__(self) -> str:
101105
return (f"RequestOutput(request_id={self.request_id}, "
102106
f"prompt={self.prompt!r}, "
103107
f"prompt_token_ids={self.prompt_token_ids}, "
104-
f"outputs={self.outputs})")
105-
106-
def finished(self) -> bool:
107-
return all(output.finished() for output in self.outputs)
108+
f"outputs={self.outputs}, "
109+
f"finished={self.finished})")

0 commit comments

Comments
 (0)