Spaces:
Paused
Paused
| # 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) | |