forked from phoenix/litellm-mirror
(feat) use regex pattern matching for wildcard routing (#6150)
* use pattern matching for llm deployments * code quality fix * fix linting * add types to PatternMatchRouter * docs add example config for regex patterns
This commit is contained in:
parent
6005450c8f
commit
89506053a4
6 changed files with 169 additions and 40 deletions
|
@ -73,6 +73,7 @@ async def test_router_provider_wildcard_routing():
|
|||
Pass list of orgs in 1 model definition,
|
||||
expect a unique deployment for each to be created
|
||||
"""
|
||||
litellm.set_verbose = True
|
||||
router = litellm.Router(
|
||||
model_list=[
|
||||
{
|
||||
|
@ -124,6 +125,48 @@ async def test_router_provider_wildcard_routing():
|
|||
print("response 3 = ", response3)
|
||||
|
||||
|
||||
@pytest.mark.asyncio()
|
||||
async def test_router_provider_wildcard_routing_regex():
|
||||
"""
|
||||
Pass list of orgs in 1 model definition,
|
||||
expect a unique deployment for each to be created
|
||||
"""
|
||||
router = litellm.Router(
|
||||
model_list=[
|
||||
{
|
||||
"model_name": "openai/fo::*:static::*",
|
||||
"litellm_params": {
|
||||
"model": "openai/fo::*:static::*",
|
||||
"api_base": "https://exampleopenaiendpoint-production.up.railway.app/",
|
||||
},
|
||||
},
|
||||
{
|
||||
"model_name": "openai/foo3::hello::*",
|
||||
"litellm_params": {
|
||||
"model": "openai/foo3::hello::*",
|
||||
"api_base": "https://exampleopenaiendpoint-production.up.railway.app/",
|
||||
},
|
||||
},
|
||||
]
|
||||
)
|
||||
|
||||
print("router model list = ", router.get_model_list())
|
||||
|
||||
response1 = await router.acompletion(
|
||||
model="openai/fo::anything-can-be-here::static::anything-can-be-here",
|
||||
messages=[{"role": "user", "content": "hello"}],
|
||||
)
|
||||
|
||||
print("response 1 = ", response1)
|
||||
|
||||
response2 = await router.acompletion(
|
||||
model="openai/foo3::hello::static::anything-can-be-here",
|
||||
messages=[{"role": "user", "content": "hello"}],
|
||||
)
|
||||
|
||||
print("response 2 = ", response2)
|
||||
|
||||
|
||||
def test_router_specific_model_via_id():
|
||||
"""
|
||||
Call a specific deployment by it's id
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue