Implementing Fallback Models for Tokenization #117
Merged
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.
PR Type:
Enhancement
PR Description:
This PR introduces the ability to use fallback models for tokenization in the event that the primary model fails. It modifies the get_pr_diff and pr_generate_compressed_diff functions to accept a model parameter, and uses this parameter to determine the token limit. It also introduces a new function, retry_with_fallback_models, which attempts to generate a prediction with each model in a list until successful. The PR also updates various other functions and files to accommodate these changes.
PR Main Files Walkthrough:
-
pr_agent/algo/pr_processing.py
: Modified get_pr_diff and pr_generate_compressed_diff to accept a model parameter, and added retry_with_fallback_models function.-
pr_agent/algo/token_handler.py
: Removed the limit attribute from the TokenHandler class.-
pr_agent/tools/pr_code_suggestions.py
: Updated to use retry_with_fallback_models and pass the model to get_pr_diff.-
pr_agent/tools/pr_description.py
: Updated to use retry_with_fallback_models and pass the model to get_pr_diff.-
pr_agent/tools/pr_information_from_user.py
: Updated to use retry_with_fallback_models and pass the model to get_pr_diff.-
pr_agent/tools/pr_questions.py
: Updated to use retry_with_fallback_models and pass the model to get_pr_diff.-
pr_agent/tools/pr_reviewer.py
: Updated to use retry_with_fallback_models and pass the model to get_pr_diff.-
pr_agent/settings/configuration.toml
: Added fallback-models configuration option.