forked from phoenix/litellm-mirror
LiteLLM Minor Fixes & Improvements (11/06/2024) (#6624)
* refactor(proxy_server.py): add debug logging around license check event (refactor position in startup_event logic) * fix(proxy/_types.py): allow admin_allowed_routes to be any str * fix(router.py): raise 400-status code error for no 'model_name' error on router Fixes issue with status code when unknown model name passed with pattern matching enabled * fix(converse_handler.py): add claude 3-5 haiku to bedrock converse models * test: update testing to replace claude-instant-1.2 * fix(router.py): fix router.moderation calls * test: update test to remove claude-instant-1 * fix(router.py): support model_list values in router.moderation * test: fix test * test: fix test
This commit is contained in:
parent
136693cac4
commit
0c204d33bc
15 changed files with 180 additions and 130 deletions
|
@ -158,6 +158,46 @@ def test_route_with_exception():
|
|||
assert result is None
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_route_with_no_matching_pattern():
|
||||
"""
|
||||
Tests that the router returns None when there is no matching pattern
|
||||
"""
|
||||
from litellm.types.router import RouterErrors
|
||||
|
||||
router = Router(
|
||||
model_list=[
|
||||
{
|
||||
"model_name": "*meta.llama3*",
|
||||
"litellm_params": {"model": "bedrock/meta.llama3*"},
|
||||
}
|
||||
]
|
||||
)
|
||||
|
||||
## WORKS
|
||||
result = await router.acompletion(
|
||||
model="bedrock/meta.llama3-70b",
|
||||
messages=[{"role": "user", "content": "Hello, world!"}],
|
||||
mock_response="Works",
|
||||
)
|
||||
assert result.choices[0].message.content == "Works"
|
||||
|
||||
## FAILS
|
||||
with pytest.raises(litellm.BadRequestError) as e:
|
||||
await router.acompletion(
|
||||
model="my-fake-model",
|
||||
messages=[{"role": "user", "content": "Hello, world!"}],
|
||||
mock_response="Works",
|
||||
)
|
||||
|
||||
assert RouterErrors.no_deployments_available.value not in str(e.value)
|
||||
|
||||
with pytest.raises(litellm.BadRequestError):
|
||||
await router.aembedding(
|
||||
model="my-fake-model",
|
||||
input="Hello, world!",
|
||||
)
|
||||
|
||||
def test_router_pattern_match_e2e():
|
||||
"""
|
||||
Tests the end to end flow of the router
|
||||
|
@ -188,3 +228,4 @@ def test_router_pattern_match_e2e():
|
|||
"model": "gpt-4o",
|
||||
"messages": [{"role": "user", "content": "Hello, how are you?"}],
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue