Spaces:
Sleeping
Sleeping
# litellm/proxy/guardrails/guardrail_initializers.py | |
import litellm | |
from litellm.types.guardrails import * | |
def initialize_aporia(litellm_params, guardrail): | |
from litellm.proxy.guardrails.guardrail_hooks.aporia_ai import AporiaGuardrail | |
_aporia_callback = AporiaGuardrail( | |
api_base=litellm_params["api_base"], | |
api_key=litellm_params["api_key"], | |
guardrail_name=guardrail["guardrail_name"], | |
event_hook=litellm_params["mode"], | |
default_on=litellm_params["default_on"], | |
) | |
litellm.logging_callback_manager.add_litellm_callback(_aporia_callback) | |
def initialize_bedrock(litellm_params, guardrail): | |
from litellm.proxy.guardrails.guardrail_hooks.bedrock_guardrails import ( | |
BedrockGuardrail, | |
) | |
_bedrock_callback = BedrockGuardrail( | |
guardrail_name=guardrail["guardrail_name"], | |
event_hook=litellm_params["mode"], | |
guardrailIdentifier=litellm_params["guardrailIdentifier"], | |
guardrailVersion=litellm_params["guardrailVersion"], | |
default_on=litellm_params["default_on"], | |
) | |
litellm.logging_callback_manager.add_litellm_callback(_bedrock_callback) | |
def initialize_lakera(litellm_params, guardrail): | |
from litellm.proxy.guardrails.guardrail_hooks.lakera_ai import lakeraAI_Moderation | |
_lakera_callback = lakeraAI_Moderation( | |
api_base=litellm_params["api_base"], | |
api_key=litellm_params["api_key"], | |
guardrail_name=guardrail["guardrail_name"], | |
event_hook=litellm_params["mode"], | |
category_thresholds=litellm_params.get("category_thresholds"), | |
default_on=litellm_params["default_on"], | |
) | |
litellm.logging_callback_manager.add_litellm_callback(_lakera_callback) | |
def initialize_aim(litellm_params, guardrail): | |
from litellm.proxy.guardrails.guardrail_hooks.aim import AimGuardrail | |
_aim_callback = AimGuardrail( | |
api_base=litellm_params["api_base"], | |
api_key=litellm_params["api_key"], | |
guardrail_name=guardrail["guardrail_name"], | |
event_hook=litellm_params["mode"], | |
default_on=litellm_params["default_on"], | |
) | |
litellm.logging_callback_manager.add_litellm_callback(_aim_callback) | |
def initialize_presidio(litellm_params, guardrail): | |
from litellm.proxy.guardrails.guardrail_hooks.presidio import ( | |
_OPTIONAL_PresidioPIIMasking, | |
) | |
_presidio_callback = _OPTIONAL_PresidioPIIMasking( | |
guardrail_name=guardrail["guardrail_name"], | |
event_hook=litellm_params["mode"], | |
output_parse_pii=litellm_params["output_parse_pii"], | |
presidio_ad_hoc_recognizers=litellm_params["presidio_ad_hoc_recognizers"], | |
mock_redacted_text=litellm_params.get("mock_redacted_text") or None, | |
default_on=litellm_params["default_on"], | |
) | |
litellm.logging_callback_manager.add_litellm_callback(_presidio_callback) | |
if litellm_params["output_parse_pii"]: | |
_success_callback = _OPTIONAL_PresidioPIIMasking( | |
output_parse_pii=True, | |
guardrail_name=guardrail["guardrail_name"], | |
event_hook=GuardrailEventHooks.post_call.value, | |
presidio_ad_hoc_recognizers=litellm_params["presidio_ad_hoc_recognizers"], | |
default_on=litellm_params["default_on"], | |
) | |
litellm.logging_callback_manager.add_litellm_callback(_success_callback) | |
def initialize_hide_secrets(litellm_params, guardrail): | |
from enterprise.enterprise_hooks.secret_detection import _ENTERPRISE_SecretDetection | |
_secret_detection_object = _ENTERPRISE_SecretDetection( | |
detect_secrets_config=litellm_params.get("detect_secrets_config"), | |
event_hook=litellm_params["mode"], | |
guardrail_name=guardrail["guardrail_name"], | |
default_on=litellm_params["default_on"], | |
) | |
litellm.logging_callback_manager.add_litellm_callback(_secret_detection_object) | |
def initialize_guardrails_ai(litellm_params, guardrail): | |
from litellm.proxy.guardrails.guardrail_hooks.guardrails_ai import GuardrailsAI | |
_guard_name = litellm_params.get("guard_name") | |
if not _guard_name: | |
raise Exception( | |
"GuardrailsAIException - Please pass the Guardrails AI guard name via 'litellm_params::guard_name'" | |
) | |
_guardrails_ai_callback = GuardrailsAI( | |
api_base=litellm_params.get("api_base"), | |
guard_name=_guard_name, | |
guardrail_name=SupportedGuardrailIntegrations.GURDRAILS_AI.value, | |
default_on=litellm_params["default_on"], | |
) | |
litellm.logging_callback_manager.add_litellm_callback(_guardrails_ai_callback) | |