Fix OptimizationError: 'str' object has no attribute 'kwargs' in BasicOptimizationStrategy #24
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.
Description
Fixes #23
This PR resolves the critical bug where
BasicOptimizationStrategy.run
fails withOptimizationError: 'str' object has no attribute 'kwargs'
.Root Cause
The bug was caused by incorrectly passing
num_threads
to thedspy.MIPROv2()
constructor, which doesn't accept this parameter. This caused aTypeError
that was masked by broad exception handling.Solution
num_threads
fromdspy.MIPROv2()
constructornum_threads
correctly viaeval_kwargs
tooptimizer.compile()
Testing
test_prompt_strategies.py
)test_core_integration.py
)test_cli_integration.py
)Breaking Changes
None - this is a bug fix that enables previously broken functionality.
Files Changed
src/llama_prompt_ops/core/prompt_strategies.py
- Core fixtests/unit/test_prompt_strategies.py
- New unit teststests/integration/test_core_integration.py
- Integration testtests/integration/test_cli_integration.py
- CLI test