Aller au contenu principal

É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 :

Python
%pip install guardrails-ai

Quick start

Pour appeler directement un scoreur AI Guardrails :

Python
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():

Python
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

ToxicLanguage

La sortie contient-elle un langage toxique ou offensant ?

Associer

NSFWText

La sortie contient-elle du contenu NSFW ou explicite ?

Associer

DetectJailbreak

L'entrée contient-elle une tentative de jailbreak ou d'injection de prompt ?

Associer

DetectPII

Le résultat contient-il des informations personnellement identifiables ?

Associer

SecretsPresent

Le résultat contient-il des clés d'API, des jetons ou d'autres secrets ?

Associer

GibberishText

La sortie contient-elle un texte absurde ou incohérent ?

Associer

Évaluateur

Qu'est-ce que cela évalue ?

Pôle Garde-fous

ToxicLanguage

La sortie contient-elle un langage toxique ou offensant ?

Associer

NSFWText

La sortie contient-elle du contenu NSFW ou explicite ?

Associer

DetectJailbreak

L'entrée contient-elle une tentative de jailbreak ou d'injection de prompt ?

Associer

DetectPII

Le résultat contient-il des informations personnellement identifiables ?

Associer

SecretsPresent

Le résultat contient-il des clés d'API, des jetons ou d'autres secrets ?

Associer

GibberishText

La sortie contient-elle un texte absurde ou incohérent ?

Associer

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 :

Python
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.

Python
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.