mirror of
https://github.com/BerriAI/litellm.git
synced 2025-04-26 03:04:13 +00:00
feat - guardrails v2
This commit is contained in:
parent
7721b9b176
commit
8cd1963c11
9 changed files with 211 additions and 49 deletions
|
@ -37,32 +37,35 @@ async def should_proceed_based_on_metadata(data: dict, guardrail_name: str) -> b
|
|||
|
||||
requested_callback_names = []
|
||||
|
||||
# get guardrail configs from `init_guardrails.py`
|
||||
# for all requested guardrails -> get their associated callbacks
|
||||
for _guardrail_name, should_run in request_guardrails.items():
|
||||
if should_run is False:
|
||||
verbose_proxy_logger.debug(
|
||||
"Guardrail %s skipped because request set to False",
|
||||
_guardrail_name,
|
||||
)
|
||||
continue
|
||||
# v1 implementation of this
|
||||
if isinstance(request_guardrails, dict):
|
||||
|
||||
# lookup the guardrail in guardrail_name_config_map
|
||||
guardrail_item: GuardrailItem = litellm.guardrail_name_config_map[
|
||||
_guardrail_name
|
||||
]
|
||||
# get guardrail configs from `init_guardrails.py`
|
||||
# for all requested guardrails -> get their associated callbacks
|
||||
for _guardrail_name, should_run in request_guardrails.items():
|
||||
if should_run is False:
|
||||
verbose_proxy_logger.debug(
|
||||
"Guardrail %s skipped because request set to False",
|
||||
_guardrail_name,
|
||||
)
|
||||
continue
|
||||
|
||||
guardrail_callbacks = guardrail_item.callbacks
|
||||
requested_callback_names.extend(guardrail_callbacks)
|
||||
# lookup the guardrail in guardrail_name_config_map
|
||||
guardrail_item: GuardrailItem = litellm.guardrail_name_config_map[
|
||||
_guardrail_name
|
||||
]
|
||||
|
||||
verbose_proxy_logger.debug(
|
||||
"requested_callback_names %s", requested_callback_names
|
||||
)
|
||||
if guardrail_name in requested_callback_names:
|
||||
return True
|
||||
guardrail_callbacks = guardrail_item.callbacks
|
||||
requested_callback_names.extend(guardrail_callbacks)
|
||||
|
||||
# Do no proceeed if - "metadata": { "guardrails": { "lakera_prompt_injection": false } }
|
||||
return False
|
||||
verbose_proxy_logger.debug(
|
||||
"requested_callback_names %s", requested_callback_names
|
||||
)
|
||||
if guardrail_name in requested_callback_names:
|
||||
return True
|
||||
|
||||
# Do no proceeed if - "metadata": { "guardrails": { "lakera_prompt_injection": false } }
|
||||
return False
|
||||
|
||||
return True
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue