Skip to content

Commit f2e5501

Browse files
authored
[Bufix] Fix None output issue caused by outputs patch (#712)
### What this PR does / why we need it? Fix None output issue caused by outputs patch --------- Signed-off-by: MengqingCao <cmq0113@163.com>
1 parent b9528e6 commit f2e5501

File tree

1 file changed

+40
-2
lines changed

1 file changed

+40
-2
lines changed

vllm_ascend/patch_outputs.py

Lines changed: 40 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
# limitations under the License.
1616
#
1717

18+
import time
1819
from typing import Dict, Optional
1920

2021
from vllm.outputs import CompletionOutput, RequestOutput
@@ -84,7 +85,7 @@ def from_seq_group(
8485
output_token_ids = seq.get_output_token_ids_to_return(delta)
8586
num_output_tokens = 1 if isinstance(output_token_ids,
8687
int) else len(output_token_ids)
87-
num_cached_tokens = seq.data.get_num_cached_tokens() # noqa
88+
num_cached_tokens = seq.data.get_num_cached_tokens()
8889

8990
output_logprobs = seq.output_logprobs if include_logprobs else None
9091

@@ -139,7 +140,44 @@ def from_seq_group(
139140

140141
outputs.append(output)
141142

142-
return None
143+
# Every sequence in the sequence group should have the same prompt.
144+
if include_prompt:
145+
prompt = seq_group.prompt
146+
prompt_token_ids = seq_group.prompt_token_ids
147+
encoder_prompt = seq_group.encoder_prompt
148+
encoder_prompt_token_ids = seq_group.encoder_prompt_token_ids
149+
prompt_logprobs = seq_group.prompt_logprobs
150+
else:
151+
prompt = None
152+
prompt_token_ids = None
153+
encoder_prompt = None
154+
encoder_prompt_token_ids = None
155+
prompt_logprobs = None
156+
finished_time = time.time() if finished else None
157+
seq_group.set_finished_time(finished_time)
158+
159+
init_kwargs = {
160+
"request_id": seq_group.request_id,
161+
"prompt": prompt,
162+
"prompt_token_ids": prompt_token_ids,
163+
"prompt_logprobs": prompt_logprobs,
164+
"outputs": outputs,
165+
"finished": finished,
166+
"metrics": seq_group.metrics,
167+
"lora_request": seq_group.lora_request,
168+
"encoder_prompt": encoder_prompt,
169+
"encoder_prompt_token_ids": encoder_prompt_token_ids,
170+
"num_cached_tokens": num_cached_tokens,
171+
"multi_modal_placeholders": seq_group.multi_modal_placeholders
172+
}
173+
174+
if use_cache:
175+
request_output = seq_group.cached_request_output
176+
request_output.__init__(**init_kwargs) # type: ignore
177+
else:
178+
request_output = cls(**init_kwargs) # type: ignore
179+
180+
return request_output
143181

144182

145183
# Add code to clear finished seq in seq_id_to_seq_group

0 commit comments

Comments
 (0)