mirror of
https://github.com/BerriAI/litellm.git
synced 2025-04-26 03:04:13 +00:00
fix(router.py): security fix - don't show api key in invalid model setup error message
This commit is contained in:
parent
8f0019c241
commit
1d18ca6a7d
2 changed files with 29 additions and 1 deletions
|
@ -2610,8 +2610,17 @@ class Router:
|
||||||
|
|
||||||
if "azure" in model_name:
|
if "azure" in model_name:
|
||||||
if api_base is None or not isinstance(api_base, str):
|
if api_base is None or not isinstance(api_base, str):
|
||||||
|
filtered_litellm_params = {
|
||||||
|
k: v
|
||||||
|
for k, v in model["litellm_params"].items()
|
||||||
|
if k != "api_key"
|
||||||
|
}
|
||||||
|
_filtered_model = {
|
||||||
|
"model_name": model["model_name"],
|
||||||
|
"litellm_params": filtered_litellm_params,
|
||||||
|
}
|
||||||
raise ValueError(
|
raise ValueError(
|
||||||
f"api_base is required for Azure OpenAI. Set it on your config. Model - {model}"
|
f"api_base is required for Azure OpenAI. Set it on your config. Model - {_filtered_model}"
|
||||||
)
|
)
|
||||||
azure_ad_token = litellm_params.get("azure_ad_token")
|
azure_ad_token = litellm_params.get("azure_ad_token")
|
||||||
if azure_ad_token is not None:
|
if azure_ad_token is not None:
|
||||||
|
|
|
@ -19,6 +19,25 @@ import os, httpx
|
||||||
load_dotenv()
|
load_dotenv()
|
||||||
|
|
||||||
|
|
||||||
|
def test_router_sensitive_keys():
|
||||||
|
try:
|
||||||
|
router = Router(
|
||||||
|
model_list=[
|
||||||
|
{
|
||||||
|
"model_name": "gpt-3.5-turbo", # openai model name
|
||||||
|
"litellm_params": { # params for litellm completion/embedding call
|
||||||
|
"model": "azure/chatgpt-v-2",
|
||||||
|
"api_key": "special-key",
|
||||||
|
},
|
||||||
|
"model_info": {"id": 12345},
|
||||||
|
},
|
||||||
|
],
|
||||||
|
)
|
||||||
|
except Exception as e:
|
||||||
|
print(f"error msg - {str(e)}")
|
||||||
|
assert "special-key" not in str(e)
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.parametrize("num_retries", [None, 2])
|
@pytest.mark.parametrize("num_retries", [None, 2])
|
||||||
@pytest.mark.parametrize("max_retries", [None, 4])
|
@pytest.mark.parametrize("max_retries", [None, 4])
|
||||||
def test_router_num_retries_init(num_retries, max_retries):
|
def test_router_num_retries_init(num_retries, max_retries):
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue