Aller au contenu principal

Évaluateurs basés sur le code

Les évaluateurs basés sur le code sont des fonctions Python que vous créez. Utilisez-les lorsque les juges LLM intégrés et les juges LLM personnalisés ne correspondent pas à vos besoins d'évaluation. Par exemple, les évaluateurs basés sur le code vous permettent de :

  • Définissez une métrique d'évaluation heuristique ou programmatique personnalisée.
  • Personnalisez la manière dont les données de trace sont mappées à un juge LLM intégré Databricks.
  • Utilisez votre propre LLM (au lieu d'un juge LLM hébergé par Databricks) pour l'évaluation.
  • Autres cas d'utilisation où vous avez besoin de plus de flexibilité et de contrôle que ce qui est fourni par les juges LLM personnalisés.

Vous pouvez utiliser le même évaluateur basé sur le code pour l'évaluation en développement et le monitoring en production.

Choisir un style de définition

MLflow prend en charge deux manières de définir un évaluateur basé sur le code :

Approche

Quand utiliser

Monitoring de la production

@scorer décorateur

La plupart des cas. Point de départ recommandé.

Pris en charge (lorsqu'il est défini et enregistré à partir d'un Notebook Databricks).

Scorer classe

Vous avez besoin d’évaluateurs avec état, d’une initialisation complexe ou de champs Pydantic.

Non pris en charge.

Approche

Quand utiliser

Monitoring de la production

@scorer décorateur

La plupart des cas. Point de départ recommandé.

Pris en charge (lorsqu'il est défini et enregistré à partir d'un Notebook Databricks).

Scorer classe

Vous avez besoin d’évaluateurs avec état, d’une initialisation complexe ou de champs Pydantic.

Non pris en charge.

:::note Compatibilité avec le monitoring de production

Le monitoring en production prend en charge les juges LLM intégrés et les fonctions décorées @scorer. Les sous-classes Scorer basées sur des classes ne sont pas prises en charge pour le monitoring en production. Si vous avez besoin d'évaluateurs avec état en production, utilisez le décorateur @scorer et gérez l'état à l'intérieur du corps de la fonction.

@scorerLes fonctions décorées utilisées dans le monitoring de production doivent être définies et enregistrées à partir d'un Notebook Databricks . Le service de monitoring sérialise le code de fonction pour l'exécution à distance, et cette sérialisation requiert l'environnement de Notebook. Pour plus de détails, consultez Utiliser des fonctions d'évaluateur personnalisées.

:::

Ressources supplémentaires