Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
OpenDAS
vllm_cscc
Commits
bec060fd
Unverified
Commit
bec060fd
authored
Sep 17, 2025
by
Andrew Sansom
Committed by
GitHub
Sep 17, 2025
Browse files
Mark prompt logprobs as incompatible with prompt embeds at API level (#25077)
Signed-off-by:
Andrew Sansom
<
andrew@protopia.ai
>
parent
52bc9d5b
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
29 additions
and
4 deletions
+29
-4
tests/entrypoints/openai/test_completion_with_prompt_embeds.py
.../entrypoints/openai/test_completion_with_prompt_embeds.py
+17
-0
vllm/engine/llm_engine.py
vllm/engine/llm_engine.py
+7
-4
vllm/entrypoints/openai/serving_completion.py
vllm/entrypoints/openai/serving_completion.py
+5
-0
No files found.
tests/entrypoints/openai/test_completion_with_prompt_embeds.py
View file @
bec060fd
...
...
@@ -228,3 +228,20 @@ async def test_completions_with_logprobs_and_prompt_embeds(
assert
max
(
logprobs_arg
,
1
)
<=
len
(
top_logprobs
)
<=
logprobs_arg
+
1
assert
len
(
logprobs
.
tokens
)
==
5
@
pytest
.
mark
.
asyncio
async
def
test_prompt_logprobs_raises_error
(
client_with_prompt_embeds
:
openai
.
AsyncOpenAI
):
with
pytest
.
raises
(
BadRequestError
,
match
=
"not compatible"
):
encoded_embeds
=
create_dummy_embeds
()
await
client_with_prompt_embeds
.
completions
.
create
(
model
=
MODEL_NAME
,
prompt
=
""
,
max_tokens
=
5
,
temperature
=
0.0
,
extra_body
=
{
"prompt_embeds"
:
encoded_embeds
,
"prompt_logprobs"
:
True
},
)
vllm/engine/llm_engine.py
View file @
bec060fd
...
...
@@ -671,10 +671,13 @@ class LLMEngine:
arrival_time
=
time
.
time
()
if
(
isinstance
(
prompt
,
dict
)
and
prompt
.
get
(
"prompt_embeds"
,
None
)
is
not
None
and
not
prompt
.
get
(
"prompt_token_ids"
,
None
)
)
:
and
prompt
.
get
(
"prompt_embeds"
,
None
)
is
not
None
):
if
not
prompt
.
get
(
"prompt_token_ids"
,
None
):
seq_len
=
prompt
[
"prompt_embeds"
].
shape
[
0
]
prompt
[
"prompt_token_ids"
]
=
[
0
]
*
seq_len
if
params
.
prompt_logprobs
is
not
None
:
raise
ValueError
(
"prompt_logprobs is not compatible with prompt embeds."
)
processed_inputs
=
self
.
input_preprocessor
.
preprocess
(
prompt
,
...
...
vllm/entrypoints/openai/serving_completion.py
View file @
bec060fd
...
...
@@ -112,6 +112,11 @@ class OpenAIServingCompletion(OpenAIServing):
return
self
.
create_error_response
(
"Echo is unsupported with prompt embeds."
)
if
(
request
.
prompt_logprobs
is
not
None
and
request
.
prompt_embeds
is
not
None
):
return
self
.
create_error_response
(
"prompt_logprobs is not compatible with prompt embeds."
)
request_id
=
(
f
"cmpl-"
f
"
{
self
.
_base_request_id
(
raw_request
,
request
.
request_id
)
}
"
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment