Skip to content

[Bugfix] Align vLLM Omni Request input signature with vLLM. - #4568

Merged
hsliuustc0106 merged 3 commits into
vllm-project:mainfrom
timzsu:zsu/fix-import-issue
Jun 20, 2026
Merged

hsliuustc0106 merged 3 commits into
vllm-project:mainfrom
timzsu:zsu/fix-import-issue

Conversation

@timzsu

@timzsu timzsu commented Jun 19, 2026 •

Copy link
Copy Markdown
Contributor

Purpose

This PR fixes #4565. Now with vLLM-Omni installed, we can still initiate LLM engines for models with model runner v2.

Test Plan

vLLM Version: 0.23.0

Run the following snippet that produces the error to ensure that the error disappears.

from vllm import LLM
LLM("Qwen/Qwen3-8B", trust_remote_code=True, max_model_len=2048)

Run a regression test tests/test_omni_request.py to lock this behavior.

Test Result

The snippet that failed before passes now. The new regression test also passes.

BEFORE SUBMITTING: read CONTRIBUTING.md and run the precheck-pr skill with the code agent for a self-check against project conventions.
(anything written below this line will be removed by GitHub Actions)

timzsu added 2 commits June 19, 2026 11:36
Signed-off-by: Zhengyuan Su <su.zhengyuan@u.nus.edu>
Signed-off-by: Zhengyuan Su <su.zhengyuan@u.nus.edu>
@chatgpt-codex-connector

Copy link
Copy Markdown

Codex usage limits have been reached for code reviews. Please check with the admins of this repo to increase the limits by adding credits.
Credits must be used to enable repository wide code reviews.

@timzsu timzsu changed the title Align vLLM Omni Request input signature with vLLM. [Bugfix] Align vLLM Omni Request input signature with vLLM. Jun 19, 2026
@timzsu

timzsu commented Jun 19, 2026

Copy link
Copy Markdown
Contributor Author

@lishunyang12 Hi Shunyang, can you please have a look at this bugfix PR?

@hsliuustc0106

Copy link
Copy Markdown
Collaborator

test it in 0.23.0 version

@timzsu

timzsu commented Jun 19, 2026 •

Copy link
Copy Markdown
Contributor Author

test it in 0.23.0 version

I can reproduce the bug on the latest main of vLLM-Omni (63ba11b) and v0.23.0rc1. Should I test against vLLM 0.23.0?

@hsliuustc0106

Copy link
Copy Markdown
Collaborator

test it in 0.23.0 version

I can reproduce the bug on the latest main of vLLM-Omni (63ba11b) and v0.23.0rc1. Should I test against vLLM 0.23.0?

the current main of vllm-omni has been updated to align with vllm 0.23.0 now

@timzsu

timzsu commented Jun 19, 2026

Copy link
Copy Markdown
Contributor Author

test it in 0.23.0 version

I can reproduce the bug on the latest main of vLLM-Omni (63ba11b) and v0.23.0rc1. Should I test against vLLM 0.23.0?

the current main of vllm-omni has been updated to align with vllm 0.23.0 now

@hsliuustc0106 I have reproduced the same failure with vLLM 0.23.0 and the latest vLLM-Omni. The fix is still needed.

@hsliuustc0106 hsliuustc0106 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I found one compatibility concern around preserving the base Request constructor contract.

Comment thread vllm_omni/request.py Outdated
):
prompt_embeds_tensor = self._maybe_decode_prompt_embeds(prompt_embeds)
super().__init__(prompt_embeds=prompt_embeds_tensor, *args, **kwargs)
super().__init__(*args, prompt_embeds=prompt_embeds_tensor, **kwargs)

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This fixes the 4-arg warmup path, but I think OmniRequest still is not fully substitutable for vLLM's Request constructor. In vLLM 0.23.0, prompt_embeds is still a positional-capable base parameter after arrival_time, so a base-style call like Request(req_id, tokens, sp, None, 0, None, embeds) would leave embeds in *args here and then also pass prompt_embeds=prompt_embeds_tensor, causing Request.__init__ to receive prompt_embeds twice. Since vllm_omni/patch.py rebinds loaded vLLM Request references to OmniRequest, can we either mirror the base signature explicitly or detect/pop a positional prompt_embeds before forwarding the keyword override? It would also be good for the regression test to cover the positional prompt-embeds case.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have absorbed prompt_embeds into kwargs to solve this issue. PTAL

Signed-off-by: Zhengyuan Su <su.zhengyuan@u.nus.edu>

@hsliuustc0106 hsliuustc0106 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@hsliuustc0106 hsliuustc0106 added the ready label to trigger buildkite CI label Jun 20, 2026
@hsliuustc0106
hsliuustc0106 enabled auto-merge (squash) June 20, 2026 03:45
@hsliuustc0106
hsliuustc0106 merged commit 17cf60a into vllm-project:main Jun 20, 2026
7 of 8 checks passed
@timzsu
timzsu deleted the zsu/fix-import-issue branch June 20, 2026 04:38
@GuanLuo

GuanLuo commented Jun 29, 2026

Copy link
Copy Markdown

Will this change be back ported to 0.23.0 release?

khairulkabir1661 pushed a commit to khairulkabir1661/vllm-omni that referenced this pull request Sep 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready label to trigger buildkite CI

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: vLLM Omni import-time Request rebind breaks plain Qwen3 inference

3 participants