-
-
Notifications
You must be signed in to change notification settings - Fork 7.3k
WIP: fix_llama4_tool_call #17917
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
base: main
Are you sure you want to change the base?
WIP: fix_llama4_tool_call #17917
Conversation
👋 Hi! Thank you for contributing to the vLLM project. 💬 Join our developer Slack at https://slack.vllm.ai to discuss your PR in #pr-reviews, coordinate on features in #feat- channels, or join special interest groups in #sig- channels. Just a reminder: PRs would not trigger full CI run by default. Instead, it would only run 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 either: Add 🚀 |
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.
great thank you! please fix the long lines.
and do could you get the results from llama-stack eval?
please also double check unit tests on vllm side pytest -s -vv tests/tool_use --models llama4 --extended
{% if not loop.last %}, {% endif %} | ||
{%- endfor %} | ||
{{- "<|eom|>" }} | ||
{{- "<|eot|>" }} |
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.
ah i see it's confirmed we should switched back to eot now?
if model_output.startswith("<|python_start|>"): | ||
model_output = model_output[len("<|python_start|>"):] | ||
model_output = model_output.replace("<|python_end|>", "") |
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.
could you add some unit tests for these logic?
Change the llama4 pythonic template and small fix on the edge case where llama4 model may output
<|python_start|>
unexpectedly.For jinja template please see this example:
Given this test data:
The jinja template will render the output like this: