Skip to content

Commit 2e8fc0d

Browse files
authored
Fix completion API echo and logprob combo (#1992)
1 parent dacaf5a commit 2e8fc0d

File tree

1 file changed

+9
-4
lines changed

1 file changed

+9
-4
lines changed

vllm/entrypoints/openai/api_server.py

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -567,17 +567,22 @@ async def completion_stream_generator() -> AsyncGenerator[str, None]:
567567
i = output.index
568568
delta_text = output.text[len(previous_texts[i]):]
569569
token_ids = output.token_ids[previous_num_tokens[i]:]
570-
top_logprobs = output.logprobs[previous_num_tokens[i]:]
570+
if request.logprobs is not None:
571+
top_logprobs = output.logprobs[previous_num_tokens[i]:]
572+
else:
573+
top_logprobs = None
571574
offsets = len(previous_texts[i])
572575
if request.echo and not has_echoed[i]:
573576
if not echo_without_generation:
574577
delta_text = res.prompt + delta_text
575578
token_ids = res.prompt_token_ids + token_ids
576-
top_logprobs = res.prompt_logprobs + top_logprobs
577-
else:
579+
if top_logprobs:
580+
top_logprobs = res.prompt_logprobs + top_logprobs
581+
else: # only just return the prompt
578582
delta_text = res.prompt
579583
token_ids = res.prompt_token_ids
580-
top_logprobs = res.prompt_logprobs
584+
if top_logprobs:
585+
top_logprobs = res.prompt_logprobs
581586
has_echoed[i] = True
582587
if request.logprobs is not None:
583588
logprobs = create_logprobs(

0 commit comments

Comments
 (0)