Évaluateurs IA de garde-fous
Guardrails AI est un framework pour valider les sorties de LLM en utilisant un hub de validateurs piloté par la communauté pour la sécurité, la détection des IPI, la qualité du contenu et plus encore. MLflow s’intègre à Guardrails AI afin que vous puissiez utiliser les validateurs Guardrails comme évaluateurs, offrant une évaluation basée sur des règles sans nécessiter d’appels LLM.
Exigences
Installez le package guardrails-ai :
%pip install guardrails-ai
Quick start
Pour appeler directement un scoreur AI Guardrails :
from mlflow.genai.scorers.guardrails import ToxicLanguage
scorer = ToxicLanguage(threshold=0.7)
feedback = scorer(
outputs="This is a professional and helpful response.",
)
print(feedback.value) # "yes" or "no"
Pour appeler les évaluateurs AI Guardrails en utilisant mlflow.genai.evaluate():
import mlflow
from mlflow.genai.scorers.guardrails import ToxicLanguage, DetectPII
eval_dataset = [
{
"inputs": {"query": "What is MLflow?"},
"outputs": "MLflow is an open-source AI engineering platform for agents and LLMs.",
},
{
"inputs": {"query": "How do I contact support?"},
"outputs": "You can reach us at support@example.com or call 555-0123.",
},
]
results = mlflow.genai.evaluate(
data=eval_dataset,
scorers=[
ToxicLanguage(threshold=0.7),
DetectPII(),
],
)
Évaluateurs IA de garde-fous disponibles
Sécurité et qualité du contenu
Ces évaluateurs valident les sorties des LLM pour les préoccupations de sécurité, de PII et de qualité du contenu.
Évaluateur | Qu'est-ce que cela évalue ? | Pôle Garde-fous |
|---|---|---|
La sortie contient-elle un langage toxique ou offensant ? | ||
La sortie contient-elle du contenu NSFW ou explicite ? | ||
L'entrée contient-elle une tentative de jailbreak ou d'injection de prompt ? | ||
Le résultat contient-il des informations personnellement identifiables ? | ||
Le résultat contient-il des clés d'API, des jetons ou d'autres secrets ? | ||
La sortie contient-elle un texte absurde ou incohérent ? |
Créez un évaluateur par nom
Vous pouvez créer dynamiquement un évaluateur en utilisant get_scorer en transmettant le nom du validateur sous forme de chaîne de caractères :
from mlflow.genai.scorers.guardrails import get_scorer
scorer = get_scorer(
validator_name="ToxicLanguage",
threshold=0.7,
)
feedback = scorer(
outputs="This is a professional response.",
)
Configuration
Les évaluateurs d’IA de Guardrails acceptent les parameters spécifiques au validateur en tant qu’arguments nommés pour le constructeur.
from mlflow.genai.scorers.guardrails import ToxicLanguage, DetectPII, DetectJailbreak
# Toxicity detection with custom threshold
scorer = ToxicLanguage(
threshold=0.7,
validation_method="sentence",
)
# PII detection with custom entity types
pii_scorer = DetectPII(
pii_entities=["CREDIT_CARD", "SSN", "EMAIL_ADDRESS"],
)
# Jailbreak detection with custom sensitivity
jailbreak_scorer = DetectJailbreak(
threshold=0.9,
)
Pour les parameters spécifiques aux validateurs et les validateurs supplémentaires, consultez la documentation Guardrails AI et le Guardrails Hub.