-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Remove user confirmation from MiproV2 #8552
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?
Conversation
@@ -112,7 +109,7 @@ def compile( | |||
view_data_batch_size: int = 10, | |||
tip_aware_proposer: bool = True, | |||
fewshot_aware_proposer: bool = True, | |||
requires_permission_to_run: bool = True, | |||
requires_permission_to_run: bool = True, # deprecated |
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.
Unfortunately, removing this argument will result in breaking the users' code that passes requires_permission_to_run=False
. Do we think this breaking change is acceptable in DSPy 3? We could add **kwargs
instead, but it would lead to a loss of undefined argument detection.
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.
We can introduce the wildcard kwargs
and move the deprecated args there, and print a clear warning that it's deprecated.
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.
Yeah, that's feasible. But I would be cautious about introducing **kwarg as users won't be able to know when they mistakenly pass an undefined argument (or typo). What do you think?
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.
that's a solid concern! IMO it's a tradeoff between safety and unexpected user misbehavior. We do have wild card kwargs
for a few methods now, e.g.,
Line 82 in 2e60022
def __call__(self, *args, **kwargs): |
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.
Yeah, we have **kwargs in many modules, shall we remove the requires_permission_to_run parameter and add kwargs then? cc: @klopsahlong @omkar-sh
User confirmation only exists for MiproV2. This PR removes the feature for consistency.