Skip to content

Commit 333870d

Browse files
author
Your Name
committed
fix
1 parent e4a4c8d commit 333870d

File tree

2 files changed

+11
-0
lines changed

2 files changed

+11
-0
lines changed

vllm/beam/filtering.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,9 @@ async def get_n_valid_beams(self, create_completion: Callable,
5858
res = await asyncio.gather(*tasks)
5959
request.n = n
6060
beam_validator_res = self.validate(res)
61+
if isinstance(beam_validator_res, ErrorResponse):
62+
return beam_validator_res
63+
6164
filtered_res = [r for r, valid in zip(res, beam_validator_res) if valid]
6265
logger.debug("Filtered count: %d", len(filtered_res))
6366
if len(filtered_res) == 0:
@@ -68,6 +71,7 @@ async def get_n_valid_beams(self, create_completion: Callable,
6871
def validate(self, responses: list[AsyncGenerator],
6972
debug_infos_G: list[BeamDebugInfo] = None):
7073
error_responses = [r for r in responses if isinstance(r, ErrorResponse)]
74+
print(f"error_responses: {error_responses}")
7175
if len(error_responses) > 0:
7276
combined_message = "; ".join(er.message for er in error_responses)
7377
return ErrorResponse(

vllm/entrypoints/openai/serving_completion.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,9 @@ async def _process_prefix(request: CompletionRequest):
103103
return res
104104

105105
res = await _process_prefix(request)
106+
if isinstance(res, ErrorResponse):
107+
return res
108+
106109
input_str_len = len(res.choices[0].text)
107110

108111
async def _should_stop(final):
@@ -118,6 +121,10 @@ async def _chunk_generator():
118121
while num_chunks < max_chunks and not should_stop:
119122
num_chunks += 1
120123
beams = await self.beam_validator.get_n_valid_beams(create_completion=self.create_completion, request=request, raw_request=raw_request)
124+
if isinstance(beams, ErrorResponse):
125+
yield f"data: {beams.model_dump_json()}\n\n"
126+
break
127+
121128
final = await self.beam_scorer.pick_best_beam(beams)
122129
request.prompt = final.choices[0].text
123130
should_stop = await _should_stop(final)

0 commit comments

Comments
 (0)