mirror of
https://github.com/BerriAI/litellm.git
synced 2025-04-26 19:24:27 +00:00
fix(route_llm_request.py): move to using common router, even for clie… (#8966)
* fix(route_llm_request.py): move to using common router, even for client-side credentials ensures fallbacks / cooldown logic still works * test(test_route_llm_request.py): add unit test for route request * feat(router.py): generate unique model id when clientside credential passed in Prevents cooldowns for api key 1 from impacting api key 2 * test(test_router.py): update testing to ensure original litellm params not mutated * fix(router.py): upsert clientside call into llm router model list enables cooldown logic to work accurately * fix: fix linting error * test(test_router_utils.py): add direct test for new util on router
This commit is contained in:
parent
bd2231400f
commit
ae6f91a56d
9 changed files with 273 additions and 36 deletions
|
@ -2777,3 +2777,46 @@ def test_router_get_model_list_from_model_alias():
|
|||
model_name="gpt-3.5-turbo"
|
||||
)
|
||||
assert len(model_alias_list) == 0
|
||||
|
||||
|
||||
def test_router_dynamic_credentials():
|
||||
"""
|
||||
Assert model id for dynamic api key 1 != model id for dynamic api key 2
|
||||
"""
|
||||
original_model_id = "123"
|
||||
original_api_key = "my-bad-key"
|
||||
router = Router(
|
||||
model_list=[
|
||||
{
|
||||
"model_name": "gpt-3.5-turbo",
|
||||
"litellm_params": {
|
||||
"model": "openai/gpt-3.5-turbo",
|
||||
"api_key": original_api_key,
|
||||
"mock_response": "fake_response",
|
||||
},
|
||||
"model_info": {"id": original_model_id},
|
||||
}
|
||||
]
|
||||
)
|
||||
|
||||
deployment = router.get_deployment(model_id=original_model_id)
|
||||
assert deployment is not None
|
||||
assert deployment.litellm_params.api_key == original_api_key
|
||||
|
||||
response = router.completion(
|
||||
model="gpt-3.5-turbo",
|
||||
messages=[{"role": "user", "content": "hi"}],
|
||||
api_key="my-bad-key-2",
|
||||
)
|
||||
|
||||
response_2 = router.completion(
|
||||
model="gpt-3.5-turbo",
|
||||
messages=[{"role": "user", "content": "hi"}],
|
||||
api_key="my-bad-key-3",
|
||||
)
|
||||
|
||||
assert response_2._hidden_params["model_id"] != response._hidden_params["model_id"]
|
||||
|
||||
deployment = router.get_deployment(model_id=original_model_id)
|
||||
assert deployment is not None
|
||||
assert deployment.litellm_params.api_key == original_api_key
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue