Spaces:
Configuration error
Configuration error
""" | |
Enterprise Guardrail Routes on LiteLLM Proxy | |
To see all free guardrails see litellm/proxy/guardrails/* | |
Exposed Routes: | |
- /mask_pii | |
""" | |
from typing import Optional | |
from fastapi import APIRouter, Depends | |
from litellm.integrations.custom_guardrail import CustomGuardrail | |
from litellm.proxy._types import UserAPIKeyAuth | |
from litellm.proxy.auth.user_api_key_auth import user_api_key_auth | |
from litellm.proxy.guardrails.guardrail_endpoints import GUARDRAIL_REGISTRY | |
from litellm.types.guardrails import ApplyGuardrailRequest, ApplyGuardrailResponse | |
router = APIRouter(tags=["guardrails"], prefix="/guardrails") | |
async def apply_guardrail( | |
request: ApplyGuardrailRequest, | |
user_api_key_dict: UserAPIKeyAuth = Depends(user_api_key_auth), | |
): | |
""" | |
Mask PII from a given text, requires a guardrail to be added to litellm. | |
""" | |
active_guardrail: Optional[ | |
CustomGuardrail | |
] = GUARDRAIL_REGISTRY.get_initialized_guardrail_callback( | |
guardrail_name=request.guardrail_name | |
) | |
if active_guardrail is None: | |
raise Exception(f"Guardrail {request.guardrail_name} not found") | |
return await active_guardrail.apply_guardrail( | |
text=request.text, language=request.language, entities=request.entities | |
) | |