[Resolver] API Retry on guess success #5187
Open
+594
−417
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.
End-user friendly description of the problem this fixes or functionality that this introduces
Give a summary of what the PR does, explaining any non-trivial design decisions
This PR partially addresses the problem of rate limit retries
We've replaced all
litellm.completion
instances with theLLM
class from Openhands proper. This class supports retry with the following configurable parameters:LLM_NUM_RETRIES (Default of 8)
LLM_RETRY_MIN_WAIT (Default of 15 seconds)
LLM_RETRY_MAX_WAIT (Default of 120 seconds)
LLM_RETRY_MULTIPLIER (Default of 2)
This refactor helps centralize retry mechanism logic and applies it on
guess_success
inopenhands-resolver
via theLLM
classUpdated test cases appropriately. Also added test cases for retry on rate limit exception for
guess_success
Note: while this PR implements retry mechanism it is not a perfect solution for Anthropic's token per minute rate limit exceptions. However, if this PR is merged more sophisticated retry mechanism can be implemented
openhands/llm/llm.py
andopenhands/llm/retry_mixin.py
, which will apply to both Openhands proper and Openhands resolver.Link of any specific issues this addresses
#5030
#5087