Coverage for .venv/lib/python3.13/site-packages/litellm/proxy/guardrails/guardrail_hooks/guardrails_ai/__init__.py: 44%
14 statements
« prev ^ index » next coverage.py v7.15.2, created at 2026-10-10 12:01 +0000
« prev ^ index » next coverage.py v7.15.2, created at 2026-10-10 12:01 +0000
1from typing import TYPE_CHECKING, Final
3from litellm.types.guardrails import SupportedGuardrailIntegrations
5from .guardrails_ai import GuardrailsAI
7if TYPE_CHECKING: 7 ↛ 8line 7 didn't jump to line 8 because the condition on line 7 was never true
8 from litellm.types.guardrails import Guardrail, LitellmParams
11def initialize_guardrail(litellm_params: "LitellmParams", guardrail: "Guardrail"):
12 import litellm
14 if litellm_params.guard_name is None:
15 raise Exception(
16 "GuardrailsAIException - Please pass the Guardrails AI guard name via 'litellm_params::guard_name'"
17 )
19 _guardrails_ai_callback: Final = GuardrailsAI(
20 api_base=litellm_params.api_base,
21 api_key=litellm_params.api_key,
22 guardrail_name=guardrail.get("guardrail_name", ""),
23 event_hook=litellm_params.mode,
24 default_on=litellm_params.default_on,
25 guard_name=litellm_params.guard_name,
26 guardrails_ai_api_input_format=getattr(litellm_params, "guardrails_ai_api_input_format", "llmOutput"),
27 )
28 litellm.logging_callback_manager.add_litellm_callback(_guardrails_ai_callback)
30 return _guardrails_ai_callback
33guardrail_initializer_registry: Final = {
34 SupportedGuardrailIntegrations.GUARDRAILS_AI.value: initialize_guardrail,
35}
38guardrail_class_registry: Final = {
39 SupportedGuardrailIntegrations.GUARDRAILS_AI.value: GuardrailsAI,
40}