-
-
Notifications
You must be signed in to change notification settings - Fork 11k
[Bugfix] Multiple fixes to tool streaming with hermes and mistral #10979
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Signed-off-by: cedonley <clayton@donley.io>
|
👋 Hi! Thank you for contributing to the vLLM project. Once the PR is approved and ready to go, your PR reviewer(s) can run CI to test the changes comprehensively before merging. To run CI, PR reviewers can do one of these:
🚀 |
|
Regarding failure in entrypoints-test:
I looked at that parser to see if there was an easy fix, but the logic is somewhat different from the others and I'd rather not try to overload this PR. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for your work on this.
|
I agree that the overall tool streaming extraction logic could/should be simplified, and should be addressed in another PR. |
Yes, I have been of half a mind to rewrite from scratch using finite state machines which seems like the most appropriate & clean approach; just haven't had time to dig into it yet |
|
@K-Mistele Yeah. I was thinking the same thing. It doesn't help that the OpenAI tool interfaces have changed multiple times and the underlying models don't even stay consistent within families. Going to be hard to completely future-proof this, so may want to let things settle a bit before the rewrite. |
|
@DarkLight1337 @mgoin This is good to merge per reviews from @K-Mistele and @gcalmettes Thanks! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for fixing!
|
Can you merge from main to fix the CI failures? |
…lm-project#10979) Signed-off-by: cedonley <clayton@donley.io>
|
Hi @cedonley Can I ask which of the issues does this part solve? This introduced a bug for streaming parser on Qwen/Qwen3-235B-A22B where: prev_arguments : and because cur_arguments json string [:-2] removes 1 it gets into that if statement and returns None. I'm trying to understand what does [:-2] supposed to eliminate, maybe meant to remove where the partial json parser adds Would you remember the context here maybe @DarkLight1337 ? |
|
Good question. At the time the surrounding code was always feeding "}, so I probably didn't check for it. Seems like something changed since then, or perhaps I didn't test with a numeric (non-string) value in the final value. |
|
I see, so it makes sense to check if it ends with "} first as far as I can see. |
REDO of PR #10782
FIX #10781
FIX #10589
FIX #10821
FIX #10900
Key fixed issues:
To be reviewed in future PRs:
@K-Mistele @gcalmettes