mirror of
https://github.com/BerriAI/litellm.git
synced 2026-10-07 02:59:05 +00:00
feat(proxy): register routing_group_router and add startup DB sync
This commit is contained in:
parent
33e1d37562
commit
f29e0e8b7b
1 changed files with 33 additions and 0 deletions
|
|
@ -400,6 +400,9 @@ from litellm.proxy.management_endpoints.project_endpoints import (
|
|||
from litellm.proxy.management_endpoints.router_settings_endpoints import (
|
||||
router as router_settings_router,
|
||||
)
|
||||
from litellm.proxy.management_endpoints.routing_group_endpoints import (
|
||||
router as routing_group_router,
|
||||
)
|
||||
from litellm.proxy.management_endpoints.scim.scim_v2 import scim_router
|
||||
from litellm.proxy.management_endpoints.tag_management_endpoints import (
|
||||
router as tag_management_router,
|
||||
|
|
@ -4429,9 +4432,38 @@ class ProxyConfig:
|
|||
prisma_client=prisma_client, proxy_config=self
|
||||
)
|
||||
|
||||
await self._load_routing_groups_from_db(prisma_client=prisma_client)
|
||||
|
||||
if self._should_load_db_object(object_type="semantic_filter_settings"):
|
||||
await self._init_semantic_filter_settings_in_db(prisma_client=prisma_client)
|
||||
|
||||
async def _load_routing_groups_from_db(self, prisma_client: PrismaClient) -> None:
|
||||
"""Load all active routing groups from DB and sync to router."""
|
||||
from litellm.proxy.management_endpoints.routing_group_endpoints import (
|
||||
_sync_routing_group_to_router,
|
||||
)
|
||||
from litellm.types.router import RoutingGroupConfig, RoutingGroupDeployment
|
||||
|
||||
try:
|
||||
groups = await prisma_client.db.litellm_routinggrouptable.find_many(
|
||||
where={"is_active": True}
|
||||
)
|
||||
for g in groups:
|
||||
config = RoutingGroupConfig(
|
||||
routing_group_id=g.routing_group_id,
|
||||
routing_group_name=g.routing_group_name,
|
||||
routing_strategy=g.routing_strategy,
|
||||
deployments=[
|
||||
RoutingGroupDeployment(**d) for d in (g.deployments or [])
|
||||
],
|
||||
)
|
||||
await _sync_routing_group_to_router(config)
|
||||
verbose_proxy_logger.debug(
|
||||
f"Loaded {len(groups)} routing groups from DB"
|
||||
)
|
||||
except Exception as e:
|
||||
verbose_proxy_logger.debug(f"Could not load routing groups from DB: {e}")
|
||||
|
||||
async def _init_semantic_filter_settings_in_db(self, prisma_client: PrismaClient):
|
||||
"""
|
||||
Initialize MCP semantic filter settings from database.
|
||||
|
|
@ -13056,5 +13088,6 @@ async def dynamic_mcp_route(mcp_server_name: str, request: Request):
|
|||
|
||||
|
||||
app.mount(path=BASE_MCP_ROUTE, app=mcp_app)
|
||||
app.include_router(routing_group_router)
|
||||
app.include_router(mcp_rest_endpoints_router)
|
||||
app.include_router(mcp_discoverable_endpoints_router)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue