Skip to content

Commit 5649c0f

Browse files
Revert "feat: add persistence and management for guardrails on virtual keys"
This reverts commit 6cd5afa.
1 parent a6790ac commit 5649c0f

File tree

2 files changed

+3
-97
lines changed

2 files changed

+3
-97
lines changed

enterprise/litellm_enterprise/proxy/guardrails/endpoints.py

Lines changed: 3 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -6,28 +6,16 @@
66
77
Exposed Routes:
88
- /mask_pii
9-
- /virtual_key/guardrails
109
"""
11-
from typing import Dict, List, Optional
10+
from typing import Optional
1211

13-
from fastapi import APIRouter, Depends, HTTPException
14-
from pydantic import BaseModel
12+
from fastapi import APIRouter, Depends
1513

1614
from litellm.integrations.custom_guardrail import CustomGuardrail
1715
from litellm.proxy._types import UserAPIKeyAuth
1816
from litellm.proxy.auth.user_api_key_auth import user_api_key_auth
1917
from litellm.proxy.guardrails.guardrail_endpoints import GUARDRAIL_REGISTRY
20-
from litellm.proxy.guardrails.guardrail_registry import IN_MEMORY_GUARDRAIL_HANDLER
21-
from litellm.types.guardrails import ApplyGuardrailRequest, ApplyGuardrailResponse, Guardrail
22-
23-
# Models for virtual key guardrail management
24-
class VirtualKeyGuardrailRequest(BaseModel):
25-
virtual_key_id: str
26-
guardrail_id: str
27-
28-
class VirtualKeyGuardrailsResponse(BaseModel):
29-
virtual_key_id: str
30-
guardrails: List[Guardrail]
18+
from litellm.types.guardrails import ApplyGuardrailRequest, ApplyGuardrailResponse
3119

3220
router = APIRouter(tags=["guardrails"], prefix="/guardrails")
3321

@@ -51,55 +39,3 @@ async def apply_guardrail(
5139
return await active_guardrail.apply_guardrail(
5240
text=request.text, language=request.language, entities=request.entities
5341
)
54-
55-
@router.post("/virtual_key/associate", response_model=Dict[str, str])
56-
async def associate_guardrail_with_virtual_key(
57-
request: VirtualKeyGuardrailRequest,
58-
user_api_key_dict: UserAPIKeyAuth = Depends(user_api_key_auth),
59-
):
60-
"""
61-
Associate a guardrail with a virtual key
62-
"""
63-
# Check if guardrail exists
64-
guardrail = IN_MEMORY_GUARDRAIL_HANDLER.get_guardrail_by_id(request.guardrail_id)
65-
if not guardrail:
66-
raise HTTPException(status_code=404, detail=f"Guardrail {request.guardrail_id} not found")
67-
68-
# Associate guardrail with virtual key
69-
IN_MEMORY_GUARDRAIL_HANDLER.associate_guardrail_with_virtual_key(
70-
virtual_key_id=request.virtual_key_id,
71-
guardrail_id=request.guardrail_id
72-
)
73-
74-
return {"message": f"Guardrail {request.guardrail_id} associated with virtual key {request.virtual_key_id}"}
75-
76-
@router.post("/virtual_key/disassociate", response_model=Dict[str, str])
77-
async def disassociate_guardrail_from_virtual_key(
78-
request: VirtualKeyGuardrailRequest,
79-
user_api_key_dict: UserAPIKeyAuth = Depends(user_api_key_auth),
80-
):
81-
"""
82-
Disassociate a guardrail from a virtual key
83-
"""
84-
# Disassociate guardrail from virtual key
85-
IN_MEMORY_GUARDRAIL_HANDLER.disassociate_guardrail_from_virtual_key(
86-
virtual_key_id=request.virtual_key_id,
87-
guardrail_id=request.guardrail_id
88-
)
89-
90-
return {"message": f"Guardrail {request.guardrail_id} disassociated from virtual key {request.virtual_key_id}"}
91-
92-
@router.get("/virtual_key/{virtual_key_id}", response_model=VirtualKeyGuardrailsResponse)
93-
async def get_guardrails_for_virtual_key(
94-
virtual_key_id: str,
95-
user_api_key_dict: UserAPIKeyAuth = Depends(user_api_key_auth),
96-
):
97-
"""
98-
Get all guardrails associated with a virtual key
99-
"""
100-
guardrails = IN_MEMORY_GUARDRAIL_HANDLER.get_guardrails_for_virtual_key(virtual_key_id)
101-
102-
return VirtualKeyGuardrailsResponse(
103-
virtual_key_id=virtual_key_id,
104-
guardrails=guardrails
105-
)

litellm/proxy/guardrails/guardrail_registry.py

Lines changed: 0 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -369,11 +369,6 @@ def __init__(self):
369369
"""
370370
Guardrail id to CustomGuardrail object mapping
371371
"""
372-
373-
self.virtual_key_to_guardrails: Dict[str, List[str]] = {}
374-
"""
375-
Virtual key id to list of guardrail ids mapping
376-
"""
377372

378373
def initialize_guardrail(
379374
self,
@@ -543,31 +538,6 @@ def get_guardrail_by_id(self, guardrail_id: str) -> Optional[Guardrail]:
543538
Get a guardrail by its ID from memory
544539
"""
545540
return self.IN_MEMORY_GUARDRAILS.get(guardrail_id)
546-
547-
def associate_guardrail_with_virtual_key(self, virtual_key_id: str, guardrail_id: str) -> None:
548-
"""
549-
Associate a guardrail with a virtual key
550-
"""
551-
if virtual_key_id not in self.virtual_key_to_guardrails:
552-
self.virtual_key_to_guardrails[virtual_key_id] = []
553-
554-
if guardrail_id not in self.virtual_key_to_guardrails[virtual_key_id]:
555-
self.virtual_key_to_guardrails[virtual_key_id].append(guardrail_id)
556-
557-
def disassociate_guardrail_from_virtual_key(self, virtual_key_id: str, guardrail_id: str) -> None:
558-
"""
559-
Disassociate a guardrail from a virtual key
560-
"""
561-
if virtual_key_id in self.virtual_key_to_guardrails:
562-
if guardrail_id in self.virtual_key_to_guardrails[virtual_key_id]:
563-
self.virtual_key_to_guardrails[virtual_key_id].remove(guardrail_id)
564-
565-
def get_guardrails_for_virtual_key(self, virtual_key_id: str) -> List[Guardrail]:
566-
"""
567-
Get all guardrails associated with a virtual key
568-
"""
569-
guardrail_ids = self.virtual_key_to_guardrails.get(virtual_key_id, [])
570-
return [self.IN_MEMORY_GUARDRAILS[gid] for gid in guardrail_ids if gid in self.IN_MEMORY_GUARDRAILS]
571541

572542

573543
########################################################

0 commit comments

Comments
 (0)