Aller au contenu principal

Évaluateurs et juges LLM

Les évaluateurs sont un composant clé du framework d'évaluation MLflow GenAI. Ils fournissent une interface unifiée pour définir des critères d'évaluation pour vos modèles, agents et applications. Comme leur nom l'indique, les évaluateurs évaluent les performances de votre application en fonction des critères d'évaluation. Il peut s'agir d'une valeur de réussite/échec, vraie/fausse, numérique ou catégorielle.

Vous pouvez utiliser le même évaluateur pour l'évaluation en développement et le monitoring en production pour maintenir la cohérence de l'évaluation tout au long du cycle de vie de l'application.

Choisissez le type d'évaluateur approprié en fonction du niveau de personnalisation et de contrôle dont vous avez besoin. Chaque approche s'appuie sur la précédente, ajoutant plus de complexité et de contrôle.

start avec les juges intégrés pour une évaluation rapide. À mesure que vos besoins évoluent, créez des juges LLM personnalisés pour des critères spécifiques au domaine et des évaluateurs personnalisés basés sur le code pour une logique métier déterministe.

Approche

Niveau de personnalisation

Cas d’utilisation

Juges intégrés

Minimal (modéré pour les juges des Lignes directrices)

Essayez rapidement l'évaluation des LLM avec des évaluateurs intégrés tels que Correctness et RetrievalGroundedness.

Les juges intégrés comprennent également des juges de directives, des juges intégrés qui vérifient si les réponses passent ou échouent aux règles personnalisées en langage naturel, telles que les directives de style ou de véracité.

Juges personnalisés

Complet

Créez des juges LLM entièrement personnalisés avec des critères d'évaluation détaillés et une optimisation du feedback.

Capable de retourner des scores numériques, des catégories ou des valeurs booléennes.

Évaluateurs basés sur le code

Complet

Des scorers programmatiques et déterministes qui évaluent des éléments tels que la correspondance exacte, la validation du format et les métriques de performance.

Évaluateurs tiers

Complet

Lorsque vous avez besoin de métriques spécialisées disponibles à partir de frameworks d'évaluation open source.

Approche

Niveau de personnalisation

Cas d’utilisation

Juges intégrés

Minimal (modéré pour les juges des Lignes directrices)

Essayez rapidement l'évaluation des LLM avec des évaluateurs intégrés tels que Correctness et RetrievalGroundedness.

Les juges intégrés comprennent également des juges de directives, des juges intégrés qui vérifient si les réponses passent ou échouent aux règles personnalisées en langage naturel, telles que les directives de style ou de véracité.

Juges personnalisés

Complet

Créez des juges LLM entièrement personnalisés avec des critères d'évaluation détaillés et une optimisation du feedback.

Capable de retourner des scores numériques, des catégories ou des valeurs booléennes.

Évaluateurs basés sur le code

Complet

Des scorers programmatiques et déterministes qui évaluent des éléments tels que la correspondance exacte, la validation du format et les métriques de performance.

Évaluateurs tiers

Complet

Lorsque vous avez besoin de métriques spécialisées disponibles à partir de frameworks d'évaluation open source.

La capture d'écran suivante montre les résultats du juge LLM intégré Safety et d'un évaluateur personnalisé exact_match:

Exemples de métriques des scorers

Comment fonctionnent les évaluateurs

Un évaluateur reçoit une Trace de evaluate() ou du service de monitoring. Il effectue ensuite les opérations suivantes :

  1. Analyse le trace pour extraire des champs et des données spécifiques utilisés pour évaluer la qualité
  2. Exécute l’évaluateur pour effectuer l'évaluation de la qualité basée sur les champs et les données extraits.
  3. Renvoie l'évaluation de la qualité sous forme de Feedback à joindre à la trace

Traces d'évaluation

Interface utilisateur d'évaluation

LLMs en tant que juges

Les juges LLM sont un type de Scorer MLflow qui utilise des Grands modèles de langage pour l'évaluation de la qualité.

Considérez un juge comme un assistant d'IA spécialisé dans l'évaluation de la qualité. Il peut évaluer les entrées et les sorties de votre application, et même explorer la trace d'exécution complète pour réaliser des évaluations basées sur des critères que vous définissez. Par exemple, un juge peut comprendre que give me healthy food options et food to keep me fit sont des requêtes similaires.

remarque

Les juges sont un type d'évaluateur qui utilisent les LLM pour l'évaluation. Utilisez-les directement avec mlflow.genai.evaluate() ou enveloppez-les dans des évaluateurs personnalisés pour une logique de notation avancée.

Juges LLM intégrés

MLflow fournit des juges intégrés validés par la recherche pour des dimensions de qualité courantes telles que la pertinence, la sécurité, l'ancrage et l'exactitude. Pour la liste complète et des directives détaillées sur chaque juge, consultez les juges LLM intégrés.

Juges multi-tours

Pour les systèmes d'IA conversationnels, MLflow fournit également des juges intégrés qui évaluent des conversations entières plutôt que des interventions individuelles. Voir Juges multi-tours.

Juges LLM personnalisés

En plus des juges intégrés, vous pouvez créer vos propres juges à l'aide d'invites et d'instructions personnalisées.

Utilisez des juges LLM personnalisés lorsque vous devez définir des tâches d'évaluation spécialisées, avez besoin de plus de contrôle sur les notes ou les scores (pas seulement réussite/échec), ou devez valider que votre agent a pris les bonnes décisions et effectué les opérations correctement pour votre cas d'utilisation spécifique. Utilisez l'alignement des juges pour former des juges LLM personnalisés afin de correspondre aux normes d'évaluation humaines grâce à des retours systématiques.

Voir Juges personnalisés.

Sélectionnez le LLM qui alimente le juge

Par default, chaque juge utilise un LLM hébergé par Databricks conçu pour effectuer des évaluations de qualité GenAI. Vous pouvez modifier le modèle de juge en utilisant l'argument model dans la définition du juge. Spécifiez le modèle au format <provider>:/<model-name>. Par exemple :

Python
from mlflow.genai.scorers import Correctness

Correctness(model="databricks:/databricks-gpt-5-mini")

Informations sur les modèles qui alimentent les juges LLM

  • Les juges LLM peuvent utiliser des services tiers pour évaluer vos applications GenAI, y compris Azure OpenAI exploité par Microsoft.
  • Pour Azure OpenAI, Databricks s'est désabonné du monitoring des abus, de sorte qu'aucune invite ou réponse n'est stockée avec Azure OpenAI.
  • Lorsque le cross-Geo processing est désactivé, les juges LLM traitent le contenu dans le Databricks Geo du workspace. Si aucun modèle in-Geo éligible n'est disponible, le juge renvoie une erreur de restriction géographique. Lorsque le cross-Geo processing est activé, les juges LLM peuvent traiter le contenu dans d'autres Geos.
  • La désactivation des fonctionnalités d’IA optimisées par des partenaires empêche le juge LLM d'appeler des modèles optimisés par des partenaires. Vous pouvez toujours utiliser les juges LLM en fournissant votre propre modèle.
  • Les juges LLM sont destinés à aider les clients à évaluer leurs agents/applications GenAI, et les résultats des juges LLM ne doivent pas être utilisés pour entraîner, améliorer ou affiner un LLM.

Précision du jugement

Databricks améliore continuellement la qualité du juge par le biais de :

  • **Validation de la recherche** face au jugement d'experts humains
  • Suivi des métriques : Kappa de Cohen, exactitude, score F1
  • Tests diversifiés sur des datasets académiques et réels

Évaluateurs basés sur le code

Les évaluateurs basés sur du code personnalisé offrent une flexibilité ultime pour définir précisément comment la qualité de votre application GenAI est mesurée. Vous pouvez définir des métriques d'évaluation adaptées à votre cas d'utilisation métier spécifique, qu'elles soient basées sur des heuristiques simples, une logique avancée ou des évaluations programmatiques.

Utilisez des évaluateurs personnalisés pour les scénarios suivants :

  1. Définir une heuristique personnalisée ou une métrique d’évaluation basée sur le code.
  2. Personnaliser la façon dont les données de la trace de votre application sont mappées aux juges LLM intégrés.
  3. Utiliser votre propre LLM (plutôt qu'un LLM juge hébergé par Databricks) pour l'évaluation.
  4. Tous les autres cas d'utilisation où vous avez besoin de plus de flexibilité et de contrôle que ce qui est offert par les juges LLM personnalisés.

Voir les évaluateurs basés sur le code.