diff options
author | S. Solomon Darnell | 2025-03-28 21:52:21 -0500 |
---|---|---|
committer | S. Solomon Darnell | 2025-03-28 21:52:21 -0500 |
commit | 4a52a71956a8d46fcb7294ac71734504bb09bcc2 (patch) | |
tree | ee3dc5af3b6313e921cd920906356f5d4febc4ed /.venv/lib/python3.12/site-packages/litellm/proxy/guardrails/guardrail_initializers.py | |
parent | cc961e04ba734dd72309fb548a2f97d67d578813 (diff) | |
download | gn-ai-master.tar.gz |
Diffstat (limited to '.venv/lib/python3.12/site-packages/litellm/proxy/guardrails/guardrail_initializers.py')
-rw-r--r-- | .venv/lib/python3.12/site-packages/litellm/proxy/guardrails/guardrail_initializers.py | 114 |
1 files changed, 114 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/litellm/proxy/guardrails/guardrail_initializers.py b/.venv/lib/python3.12/site-packages/litellm/proxy/guardrails/guardrail_initializers.py new file mode 100644 index 00000000..c32d75f9 --- /dev/null +++ b/.venv/lib/python3.12/site-packages/litellm/proxy/guardrails/guardrail_initializers.py @@ -0,0 +1,114 @@ +# 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) |