Pular para o conteúdo principal

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 :

Python
%pip install guardrails-ai

Comece rápido

Para contatar diretamente um avaliador AI da 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"

Para chamar os avaliadores AI do Guardrails usando 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(),
],
)

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

ToxicLanguage

O conteúdo gerado contém linguagem tóxica ou ofensiva?

Link

NSFWText

O conteúdo gerado contém elementos impróprios para menores ou conteúdo explícito?

Link

DetectJailbreak

O comando de entrada contém uma tentativa de jailbreak ou injeção de prompt?

Link

DetectPII

O resultado contém informações de identificação pessoal?

Link

SecretsPresent

A saída contém chave API , tokens ou outros segredos?

Link

GibberishText

O texto gerado não faz sentido ou é incoerente?

Link

Criar um marcador por nome

Você pode criar um avaliador dinamicamente usando get_scorer passando o nome do validador como uma string:

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.",
)

Configuração

Os avaliadores AI do Guardrails aceitam parâmetros específicos do validador como argumentos de palavra-chave para o construtor.

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,
)

Para parâmetros específicos do validador e validadores adicionais, consulte a documentação do Guardrails AI e o Guardrails Hub.