Juges personnalisés
Les juges personnalisés MLflow sont des évaluateurs basés sur un LLM qui vous permettent d'utiliser le langage naturel pour définir des lignes directrices de notation complexes et nuancées pour les applications GenAI.
Bien que les juges LLM intégrés de MLflow offrent d’excellents points de départ pour les dimensions de qualité courantes, les juges personnalisés créés à l’aide de make_judge() vous donnent un contrôle total sur les critères d’évaluation.
Invites et variables de Template
Pour créer un juge, vous fournissez un prompt avec des instructions en langage naturel sur la manière d'évaluer la qualité de votre agent. make_judge() accepte les variables de template pour accéder aux entrées, sorties, sorties ou comportements attendus de l'agent, et même aux traces complètes.
Vos instructions doivent inclure au moins une variable de template, mais vous n'avez pas besoin de toutes les utiliser.
{{ inputs }}- Données d'entrée fournies à l'agent{{ outputs }}- Données de sortie générées par votre agent{{ expectations }}- Vérités terrain ou résultats attendus{{ trace }}- La trace d'exécution complète de votre agent
Ce sont les seules variables autorisées. Les variables personnalisées comme {{ question }} généreront des erreurs de validation afin de garantir un comportement cohérent et d'éviter les problèmes d'injection de Template.
Juges basés sur les traces
Les juges basés sur les traces analysent les traces d'exécution pour comprendre ce qui s'est passé pendant l'exécution de l'agent. Ils explorent de manière autonome les traces à l'aide des outils du protocole de contexte de modèle (MCP) et peuvent :
- Valider les modèles d'utilisation des outils
- Identifiez les goulots d'étranglement des performances
- Rechercher les échecs d'exécution
- Vérifier les workflows multi-étapes
L'exemple suivant définit un juge qui évalue l'exactitude de l'appel d'outil en analysant les traces :
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
)
Pour que les juges basés sur les traces puissent analyser la trace complète, l'argument model doit être spécifié dans make_judge().
Pour un tutoriel complet, consultez Créez un juge personnalisé à l'aide de make_judge().
Exigences du modèle pour les juges basés sur les traces
Les juges basés sur les traces requièrent un modèle capable d'analyse de traces. Le modèle peut être servi par :
- APIs Foundation Model (recommandé)
- Endpoints de Model Serving externes
- Endpoints de Model Serving personnalisés
Modèles recommandés :
databricks:/databricks-gpt-5-minidatabricks:/databricks-gpt-5databricks:/databricks-gpt-oss-120bdatabricks:/databricks-claude-opus-4-5
Bonnes pratiques pour la rédaction des instructions du juge
Soyez précis quant au format de sortie attendu. Vos instructions doivent spécifier clairement le format que le juge doit renvoyer :
- Réponses catégorielles : répertorier des valeurs spécifiques (par exemple, « fully_resolved », « partially_resolved », « needs_follow_up »)
- Réponses booléennes : Indiquez explicitement que le juge doit retourner
trueoufalse - Scores numériques : spécifiez la plage de notation et la signification de chaque score.
Décomposez les évaluations complexes. Pour les tâches d'évaluation complexes, structurez vos instructions en sections claires :
- Quoi évaluer
- Quelles informations examiner
- Comment rendre le jugement
- Quel format renvoyer
Aligner les juges avec les experts humains
Le juge de base est un point de départ. Au fur et à mesure que vous recueillez des commentaires d'experts sur les sorties de votre application, vous pouvez aligner les juges LLM sur ces commentaires afin d'améliorer encore la précision des juges. Consultez Aligner les juges LLM avec le feedback humain.
Étapes suivantes
Consultez Créer un juge personnalisé pour un tutoriel pratique qui présente à la fois des juges standard et basés sur des traces.