aboutsummaryrefslogtreecommitdiff
path: root/.venv/lib/python3.12/site-packages/litellm/proxy/guardrails/guardrail_initializers.py
diff options
context:
space:
mode:
authorS. Solomon Darnell2025-03-28 21:52:21 -0500
committerS. Solomon Darnell2025-03-28 21:52:21 -0500
commit4a52a71956a8d46fcb7294ac71734504bb09bcc2 (patch)
treeee3dc5af3b6313e921cd920906356f5d4febc4ed /.venv/lib/python3.12/site-packages/litellm/proxy/guardrails/guardrail_initializers.py
parentcc961e04ba734dd72309fb548a2f97d67d578813 (diff)
downloadgn-ai-master.tar.gz
two version of R2R are hereHEADmaster
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.py114
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)