Spaces:
Configuration error
Configuration error
# litellm/proxy/guardrails/guardrail_initializers.py | |
import litellm | |
from litellm.proxy._types import CommonProxyErrors | |
from litellm.types.guardrails import * | |
def initialize_aporia( | |
litellm_params: LitellmParams, | |
guardrail: 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.get("guardrail_name", ""), | |
event_hook=litellm_params.mode, | |
default_on=litellm_params.default_on, | |
) | |
litellm.logging_callback_manager.add_litellm_callback(_aporia_callback) | |
return _aporia_callback | |
def initialize_bedrock(litellm_params: LitellmParams, guardrail: Guardrail): | |
from litellm.proxy.guardrails.guardrail_hooks.bedrock_guardrails import ( | |
BedrockGuardrail, | |
) | |
_bedrock_callback = BedrockGuardrail( | |
guardrail_name=guardrail.get("guardrail_name", ""), | |
event_hook=litellm_params.mode, | |
guardrailIdentifier=litellm_params.guardrailIdentifier, | |
guardrailVersion=litellm_params.guardrailVersion, | |
default_on=litellm_params.default_on, | |
mask_request_content=litellm_params.mask_request_content, | |
mask_response_content=litellm_params.mask_response_content, | |
aws_region_name=litellm_params.aws_region_name, | |
aws_access_key_id=litellm_params.aws_access_key_id, | |
aws_secret_access_key=litellm_params.aws_secret_access_key, | |
aws_session_token=litellm_params.aws_session_token, | |
aws_session_name=litellm_params.aws_session_name, | |
aws_profile_name=litellm_params.aws_profile_name, | |
aws_role_name=litellm_params.aws_role_name, | |
aws_web_identity_token=litellm_params.aws_web_identity_token, | |
aws_sts_endpoint=litellm_params.aws_sts_endpoint, | |
aws_bedrock_runtime_endpoint=litellm_params.aws_bedrock_runtime_endpoint, | |
) | |
litellm.logging_callback_manager.add_litellm_callback(_bedrock_callback) | |
return _bedrock_callback | |
def initialize_lakera(litellm_params: LitellmParams, guardrail: 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.get("guardrail_name", ""), | |
event_hook=litellm_params.mode, | |
category_thresholds=litellm_params.category_thresholds, | |
default_on=litellm_params.default_on, | |
) | |
litellm.logging_callback_manager.add_litellm_callback(_lakera_callback) | |
return _lakera_callback | |
def initialize_lakera_v2(litellm_params: LitellmParams, guardrail: Guardrail): | |
from litellm.proxy.guardrails.guardrail_hooks.lakera_ai_v2 import LakeraAIGuardrail | |
_lakera_v2_callback = LakeraAIGuardrail( | |
api_base=litellm_params.api_base, | |
api_key=litellm_params.api_key, | |
guardrail_name=guardrail.get("guardrail_name", ""), | |
event_hook=litellm_params.mode, | |
default_on=litellm_params.default_on, | |
project_id=litellm_params.project_id, | |
payload=litellm_params.payload, | |
breakdown=litellm_params.breakdown, | |
metadata=litellm_params.metadata, | |
dev_info=litellm_params.dev_info, | |
) | |
litellm.logging_callback_manager.add_litellm_callback(_lakera_v2_callback) | |
return _lakera_v2_callback | |
def initialize_aim(litellm_params: LitellmParams, guardrail: 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.get("guardrail_name", ""), | |
event_hook=litellm_params.mode, | |
default_on=litellm_params.default_on, | |
) | |
litellm.logging_callback_manager.add_litellm_callback(_aim_callback) | |
return _aim_callback | |
def initialize_presidio(litellm_params: LitellmParams, guardrail: Guardrail): | |
from litellm.proxy.guardrails.guardrail_hooks.presidio import ( | |
_OPTIONAL_PresidioPIIMasking, | |
) | |
_presidio_callback = _OPTIONAL_PresidioPIIMasking( | |
guardrail_name=guardrail.get("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.mock_redacted_text, | |
default_on=litellm_params.default_on, | |
pii_entities_config=litellm_params.pii_entities_config, | |
presidio_analyzer_api_base=litellm_params.presidio_analyzer_api_base, | |
presidio_anonymizer_api_base=litellm_params.presidio_anonymizer_api_base, | |
presidio_language=litellm_params.presidio_language, | |
) | |
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.get("guardrail_name", ""), | |
event_hook=GuardrailEventHooks.post_call.value, | |
presidio_ad_hoc_recognizers=litellm_params.presidio_ad_hoc_recognizers, | |
default_on=litellm_params.default_on, | |
presidio_analyzer_api_base=litellm_params.presidio_analyzer_api_base, | |
presidio_anonymizer_api_base=litellm_params.presidio_anonymizer_api_base, | |
presidio_language=litellm_params.presidio_language, | |
) | |
litellm.logging_callback_manager.add_litellm_callback(_success_callback) | |
return _presidio_callback | |
def initialize_hide_secrets(litellm_params: LitellmParams, guardrail: Guardrail): | |
try: | |
from litellm_enterprise.enterprise_callbacks.secret_detection import ( | |
_ENTERPRISE_SecretDetection, | |
) | |
except ImportError: | |
raise Exception( | |
"Trying to use Secret Detection" | |
+ CommonProxyErrors.missing_enterprise_package.value | |
) | |
_secret_detection_object = _ENTERPRISE_SecretDetection( | |
detect_secrets_config=litellm_params.detect_secrets_config, | |
event_hook=litellm_params.mode, | |
guardrail_name=guardrail.get("guardrail_name", ""), | |
default_on=litellm_params.default_on, | |
) | |
litellm.logging_callback_manager.add_litellm_callback(_secret_detection_object) | |
return _secret_detection_object | |
def initialize_guardrails_ai(litellm_params, guardrail): | |
from litellm.proxy.guardrails.guardrail_hooks.guardrails_ai import GuardrailsAI | |
_guard_name = litellm_params.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.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) | |
return _guardrails_ai_callback | |
def initialize_pangea(litellm_params, guardrail): | |
from litellm.proxy.guardrails.guardrail_hooks.pangea import PangeaHandler | |
_pangea_callback = PangeaHandler( | |
guardrail_name=guardrail["guardrail_name"], | |
pangea_input_recipe=litellm_params.pangea_input_recipe, | |
pangea_output_recipe=litellm_params.pangea_output_recipe, | |
api_base=litellm_params.api_base, | |
api_key=litellm_params.api_key, | |
default_on=litellm_params.default_on, | |
) | |
litellm.logging_callback_manager.add_litellm_callback(_pangea_callback) | |
return _pangea_callback | |
def initialize_lasso( | |
litellm_params: LitellmParams, | |
guardrail: Guardrail, | |
): | |
from litellm.proxy.guardrails.guardrail_hooks.lasso import LassoGuardrail | |
_lasso_callback = LassoGuardrail( | |
guardrail_name=guardrail.get("guardrail_name", ""), | |
lasso_api_key=litellm_params.api_key, | |
api_base=litellm_params.api_base, | |
user_id=litellm_params.lasso_user_id, | |
conversation_id=litellm_params.lasso_conversation_id, | |
event_hook=litellm_params.mode, | |
default_on=litellm_params.default_on, | |
) | |
litellm.logging_callback_manager.add_litellm_callback(_lasso_callback) | |
return _lasso_callback | |