Repository navigation
Fix EPP legacy tokenization failures for null-namespace tool calls - #3633
Closed
weizhoublue wants to merge 1 commit into
Closed
weizhoublue wants to merge 1 commit into
weizhoublue wants to merge 1 commit into
Conversation
Signed-off-by: weizhou.lan@daocloud.io <weizhou.lan@daocloud.io>
weizhoublue
marked this pull request as ready for review
October 26, 2026 08:15
weizhoublue
requested review from
a team,
liu-cong,
sagearc and
vMaroon
as code owners
October 26, 2026 08:15
weizhoublue
requested review from
ahg-g,
elevran and
hexfusion
and
a balanced review from Copilot
October 26, 2026 08:15
Contributor
There was a problem hiding this comment.
🟢 Approval recommended
The narrow change correctly handles null namespaces and includes regression coverage; tests were inspected but not executed.
No open issues 🎉
What changed in this PR
This PR fixes EPP's legacy Responses tokenization for ordinary function calls containing namespace: null, preserving token-derived scheduling information.
Changes:
- Treat null namespaces like absent namespaces while continuing to reject non-null values.
- Add regression coverage for translating a null-namespace function call and its output.
| File | Description |
|---|---|
pkg/epp/framework/plugins/requestcontrol/dataproducer/tokenizer/responses.go |
Allow null namespaces in legacy function-call translation. |
pkg/epp/framework/plugins/requestcontrol/dataproducer/tokenizer/responses_test.go |
Verify the translated conversation for a null-namespace tool call. |
Review effort: Balanced
Contributor
Author
|
Duplicate of #3530. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What type of PR is this?
/kind bug
What this PR does / why we need it:
vLLM v0.31.0 and v0.32.0 include
namespace: nullwhen returning ordinary function calls.This behavior remains in these releases. vllm-project/vllm#47184 proposes omitting null
namespacefields and includes an actual response containingnamespace: nullfrom live validation. The PR remains unmerged.The client includes this function call in the next inference request as part of the conversation history. This is normal usage.
However, EPP's legacy conversion path rejects any function call with a
namespacefield. It does not distinguish between a null value and an actual namespace, so tokenization fails.The inference request can still complete successfully, but scheduling cannot use its token-derived prefix-cache information or actual input length. This may increase redundant computation and response latency.
EPP should treat
namespace: nullthe same as an absent field.Which issue(s) this PR fixes:
Fixes #
Release note (write
NONEif no user-facing change):