Skip to content

Commit 9ebd040

Browse files
author
Your Name
committed
fix
1 parent 1302683 commit 9ebd040

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
@@ -106,6 +106,9 @@ async def _process_prefix(request: CompletionRequest):
106106
return res
107107

108108
res = await _process_prefix(request)
109+
if isinstance(res, ErrorResponse):
110+
return res
111+
109112
input_str_len = len(res.choices[0].text)
110113

111114
async def _should_stop(final):
@@ -121,6 +124,10 @@ async def _chunk_generator():
121124
while num_chunks < max_chunks and not should_stop:
122125
num_chunks += 1
123126
beams = await self.beam_validator.get_n_valid_beams(create_completion=self.create_completion, request=request, raw_request=raw_request)
127+
if isinstance(beams, ErrorResponse):
128+
yield f"data: {beams.model_dump_json()}\n\n"
129+
break
130+
124131
final = await self.beam_scorer.pick_best_beam(beams)
125132
request.prompt = final.choices[0].text
126133
should_stop = await _should_stop(final)

0 commit comments

Comments
 (0)