(Feat) Log Guardrails run, guardrail response on logging integrations (#7445)

* add guardrail_information to SLP

* use standard_logging_guardrail_information

* track StandardLoggingGuardrailInformation

* use log_guardrail_information

* use log_guardrail_information

* docs guardrails

* docs guardrails

* update quick start

* fix presidio logging for sync functions

* update Guardrail type

* enforce add_standard_logging_guardrail_information_to_request_data

* update gd docs
This commit is contained in:
Ishaan Jaff 2024-12-27 15:01:56 -08:00 committed by GitHub
parent d1686eef72
commit 62753eea69
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
14 changed files with 223 additions and 29 deletions

View file

@ -3,7 +3,10 @@ from typing import Literal, Optional, Union
import litellm
from litellm._logging import verbose_proxy_logger
from litellm.caching.caching import DualCache
from litellm.integrations.custom_guardrail import CustomGuardrail
from litellm.integrations.custom_guardrail import (
CustomGuardrail,
log_guardrail_information,
)
from litellm.proxy._types import UserAPIKeyAuth
@ -17,6 +20,7 @@ class myCustomGuardrail(CustomGuardrail):
super().__init__(**kwargs)
@log_guardrail_information
async def async_pre_call_hook(
self,
user_api_key_dict: UserAPIKeyAuth,
@ -55,6 +59,7 @@ class myCustomGuardrail(CustomGuardrail):
return data
@log_guardrail_information
async def async_moderation_hook(
self,
data: dict,
@ -84,6 +89,7 @@ class myCustomGuardrail(CustomGuardrail):
if "litellm" in _content.lower():
raise ValueError("Guardrail failed words - `litellm` detected")
@log_guardrail_information
async def async_post_call_success_hook(
self,
data: dict,