6
6
7
7
Exposed Routes:
8
8
- /mask_pii
9
- - /virtual_key/guardrails
10
9
"""
11
- from typing import Dict , List , Optional
10
+ from typing import Optional
12
11
13
- from fastapi import APIRouter , Depends , HTTPException
14
- from pydantic import BaseModel
12
+ from fastapi import APIRouter , Depends
15
13
16
14
from litellm .integrations .custom_guardrail import CustomGuardrail
17
15
from litellm .proxy ._types import UserAPIKeyAuth
18
16
from litellm .proxy .auth .user_api_key_auth import user_api_key_auth
19
17
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
31
19
32
20
router = APIRouter (tags = ["guardrails" ], prefix = "/guardrails" )
33
21
@@ -51,55 +39,3 @@ async def apply_guardrail(
51
39
return await active_guardrail .apply_guardrail (
52
40
text = request .text , language = request .language , entities = request .entities
53
41
)
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
- )
0 commit comments