Pular para o conteúdo principal

Juízes personalizados

Os juízes personalizados do MLflow são avaliadores baseados em LLM que permitem usar linguagem natural para definir diretrizes de pontuação complexas e sutis para aplicações GenAI.

Embora os juízes LLM integrados MLflow ofereçam excelentes pontos de partida para dimensões de qualidade comuns, os juízes personalizados criados usando make_judge() oferecem controle total sobre os critérios de avaliação.

Instruções e variáveis padrão

Para criar um avaliador, você fornece um prompt com instruções em linguagem natural sobre como avaliar a qualidade do seu agente. make_judge() aceita variáveis padrão para acessar as entradas, saídas, saídas esperadas ou comportamentos do agente e até mesmo rastreamentos completos.

Suas instruções devem incluir pelo menos uma variável padrão, mas você não precisa usar todas elas.

  • {{ inputs }} - Dados de entrada fornecidos ao agente
  • {{ outputs }} - Dados de saída gerados pelo seu agente
  • {{ expectations }} - Verdades fundamentais ou resultados esperados
  • {{ trace }} - O histórico completo da execução do seu agente

Estas são as únicas variáveis permitidas. Variáveis personalizadas como {{ question }} gerarão erros de validação para garantir um comportamento consistente e evitar problemas de injeção de padrão.

Juízes baseados em rastreamento

Os juízes baseados em rastreamento analisam os rastros de execução para entender o que aconteceu durante a execução do agente. Eles exploram rastros de forma autônoma usando ferramentas do Protocolo de Contexto do Modelo (MCP) e podem:

  • Validar padrões de uso da ferramenta
  • Identificar gargalos de desempenho
  • Investigar falhas de execução
  • Verifique o fluxo de trabalho em várias etapas

O exemplo a seguir define um avaliador que analisa a correção da chamada da ferramenta por meio da análise de rastreamentos:

Python
from mlflow.genai.judges import make_judge
from typing import Literal

# Agent judge for tool calling correctness
tool_usage_judge = make_judge(
name="tool_usage_validator",
instructions=(
"Analyze the {{ trace }} to verify correct tool usage.\n\n"
"Check that the agent selected appropriate tools for the user's request "
"and called them with correct parameters."
),
feedback_value_type=Literal["correct", "incorrect"],
model="databricks:/databricks-gpt-5-mini" # Required for trace-based judges
)

Para que os juízes baseados em rastreamento analisem o rastreamento completo, o argumento model deve ser especificado em make_judge().

Para um tutorial completo, consulte Criar um juiz personalizado usando make_judge().

Requisitos do modelo para juízes baseados em rastreamento

Juízes que utilizam métodos baseados em vestígios precisam de um modelo capaz de realizar análises de vestígios. O modelo pode ser servido por:

Modelos recomendados:

  • databricks:/databricks-gpt-5-mini
  • databricks:/databricks-gpt-5
  • databricks:/databricks-gpt-oss-120b
  • databricks:/databricks-claude-opus-4-5

Melhores práticas para redigir instruções para juízes

Seja específico quanto ao formato de saída esperado. Suas instruções devem especificar claramente o formato que o juiz deve devolver:

  • Respostas categóricas : Liste valores específicos (por exemplo, 'totalmente_resolvido', 'parcialmente_resolvido', 'necessita_de_acompanhamento')
  • RespostasBoolean : Declare explicitamente que o juiz deve retornar true ou false
  • Pontuações numéricas : Especifique o intervalo de pontuação e o significado de cada pontuação.

Desmembre avaliações complexas. Para tarefas de avaliação complexas, estruture suas instruções em seções claras:

  • O que avaliar
  • Que informações examinar?
  • Como chegar a uma conclusão?
  • Qual formato devo usar para retornar?

Alinhar juízes com especialistas humanos

O juiz base é um ponto de partida. À medida que você coleta feedback de especialistas sobre as saídas do seu aplicativo, você pode alinhar os juízes LLM ao feedback para melhorar ainda mais a precisão do juiz. Consulte Alinhar juízes LLM com feedback humano.

Próximas etapas

Consulte Criar um juiz personalizado para um tutorial prático que demonstra juízes padrão e baseados em traçado.