-
-
Notifications
You must be signed in to change notification settings - Fork 2.1k
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
Fix custom pricing - separate provider info from model info #7990
Conversation
refactors out provider specific model info from `get_model_info` - this was causing custom costs to be registered incorrectly
… model info is None some providers support features like vision across all models
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
@@ -559,6 +559,10 @@ | |||
base_model=base_model, | |||
) | |||
|
|||
verbose_logger.debug( | |||
f"completion_response _select_model_name_for_cost_calc: {model}" |
Check failure
Code scanning / CodeQL
Clear-text logging of sensitive information High
sensitive data (secret)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (secret)
This expressi
Show autofix suggestion
Hide autofix suggestion
Copilot Autofix AI 15 days ago
To fix the problem, we should avoid logging sensitive information directly. Instead, we can log a sanitized version of the model
variable or avoid logging it altogether if it contains sensitive data. The best way to fix this without changing existing functionality is to sanitize the model
variable before logging it. We can create a helper function to sanitize the model
variable by removing or masking any sensitive information.
-
Copy modified lines R73-R78 -
Copy modified line R569 -
Copy modified line R571
@@ -72,2 +72,8 @@ | ||
|
||
def sanitize_model(model: Optional[str]) -> Optional[str]: | ||
if model is None: | ||
return None | ||
# Add logic to sanitize the model string, e.g., mask sensitive parts | ||
# For simplicity, let's mask any part that looks like an API key | ||
return model.replace("os.environ/", "****") | ||
|
||
@@ -562,4 +568,5 @@ | ||
|
||
sanitized_model = sanitize_model(model) | ||
verbose_logger.debug( | ||
f"completion_response _select_model_name_for_cost_calc: {model}" | ||
f"completion_response _select_model_name_for_cost_calc: {sanitized_model}" | ||
) |
Codecov ReportAll modified and coverable lines are covered by tests ✅ 📢 Thoughts on this report? Let us know! |
Title
Fix custom pricing
Relevant issues
Fixes issues where custom pricing was not working when set under litellm params
Issue caused by addition of provider info inside model info (provider_key_info).
[TODO] investigate why this was not being correctly raised an issue when using
mock_response
Type
🐛 Bug Fix
🧹 Refactoring
Changes
[REQUIRED] Testing - Attach a screenshot of any new tests passing locally
If UI changes, send a screenshot/GIF of working UI fixes