Pontuadores AI Guardrails
Guardrails AI é uma estrutura para validar os resultados do LLM usando um centro de validadores orientado pela comunidade para segurança, detecção de informações pessoais identificáveis (PII), qualidade do conteúdo e muito mais. O MLflow integra-se com o Guardrails AI para que você possa usar os validadores do Guardrails como avaliadores, oferecendo avaliação baseada em regras sem a necessidade de chamadas LLM.
Requisitos
Instale o pacote guardrails-ai :
%pip install guardrails-ai
Comece rápido
Para contatar diretamente um avaliador AI da 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"
Para chamar os avaliadores AI do Guardrails usando 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(),
],
)
Marcadores de AI de proteção disponíveis
Segurança e qualidade do conteúdo
Esses avaliadores validam os resultados do LLM quanto a questões de segurança, informações pessoais identificáveis e qualidade do conteúdo.
Marcador | O que avalia? | Centro de guarda-corpos |
|---|---|---|
O conteúdo gerado contém linguagem tóxica ou ofensiva? | ||
O conteúdo gerado contém elementos impróprios para menores ou conteúdo explícito? | ||
O comando de entrada contém uma tentativa de jailbreak ou injeção de prompt? | ||
O resultado contém informações de identificação pessoal? | ||
A saída contém chave API , tokens ou outros segredos? | ||
O texto gerado não faz sentido ou é incoerente? |
Criar um marcador por nome
Você pode criar um avaliador dinamicamente usando get_scorer passando o nome do validador como uma string:
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.",
)
Configuração
Os avaliadores AI do Guardrails aceitam parâmetros específicos do validador como argumentos de palavra-chave para o construtor.
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,
)
Para parâmetros específicos do validador e validadores adicionais, consulte a documentação do Guardrails AI e o Guardrails Hub.