-
Notifications
You must be signed in to change notification settings - Fork 173
Fix docstring removing regex to support empty parentheses #360
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
Summary of ChangesHello @noisycat3, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request addresses a critical Highlights
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
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.
Code Review
This pull request addresses a SyntaxError that occurs when loading certain models. The error is caused by a regular expression that fails to remove decorators with empty parentheses, such as @check_model_inputs(). The fix correctly modifies the regex to handle empty parentheses by changing the quantifier from {1,} (one or more) to {0,} (zero or more). The change is correct and resolves the issue. I've added a suggestion to further simplify the regex for better readability.
| source = re.sub(r"@auto_docstring[\s]{0,}(\([^\)]{0,}\))?", "", source) | ||
| source = re.sub(r"@check_model_inputs[\s]{0,}(\([^\)]{0,}\))?", "", source) |
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.
While the change is functionally correct, the regular expressions can be simplified for better readability by using common regex quantifiers. [\s]{0,} can be replaced with \s*, and [^\)]{0,} can be replaced with [^\)]*.
| source = re.sub(r"@auto_docstring[\s]{0,}(\([^\)]{0,}\))?", "", source) | |
| source = re.sub(r"@check_model_inputs[\s]{0,}(\([^\)]{0,}\))?", "", source) | |
| source = re.sub(r"@auto_docstring\s*(\([^\)]*\))?", "", source) | |
| source = re.sub(r"@check_model_inputs\s*(\([^\)]*\))?", "", source) |
|
Oh thank you! |
While loading a Qwen3VL-derived model I got the following error on
from_pretrainedcall:I've traced the issue to a syntax error in the generated unsloth code - notice the faulty
():It's caused by the regex not matching decorator with empty argument parentheses.
Ref: https://github.com/huggingface/transformers/blob/8f129d256dfbd414b47f7f4a495a7834d95ffbf8/src/transformers/models/qwen3_vl/modeling_qwen3_vl.py#L1132
Seems to be caused by a faulty regex in
create_standalone_class. My fix is to allow for zero or more characters between(and)in the replacement regex instead of expecting at least one non-)character.Not sure if this was the intended behavior, but it seems to fix my use case.