Aller au contenu principal

Migrer vers MLflow 3 à partir d'Agent Evaluation : référence rapide

Cette référence rapide récapitule les changements clés pour la migration d'Agent Evaluation et MLflow 2 vers les APIs améliorées de MLflow 3. Consultez le guide complet à l'adresse Migrer vers MLflow 3 depuis Agent Evaluation.

Mises à jour des importations

Python
### Old imports ###
from mlflow import evaluate
from databricks.agents.evals import metric
from databricks.agents.evals import judges

from databricks.agents import review_app

### New imports ###
from mlflow.genai import evaluate
from mlflow.genai.scorers import scorer
from mlflow.genai import judges
# For predefined scorers:
from mlflow.genai.scorers import (
Correctness, Guidelines, ExpectationsGuidelines,
RelevanceToQuery, Safety, RetrievalGroundedness,
RetrievalRelevance, RetrievalSufficiency
)

import mlflow.genai.labeling as labeling
import mlflow.genai.label_schemas as schemas

Fonction d'évaluation

MLflow 2.x

MLflow 3.x

mlflow.evaluate()

mlflow.genai.evaluate()

model=my_agent

predict_fn=my_agent

model_type="databricks-agent"

(non nécessaire)

extra_metrics=[...]

scorers=[...]

evaluator_config={...}

(configuration dans les évaluateurs)

MLflow 2.x

MLflow 3.x

mlflow.evaluate()

mlflow.genai.evaluate()

model=my_agent

predict_fn=my_agent

model_type="databricks-agent"

(non nécessaire)

extra_metrics=[...]

scorers=[...]

evaluator_config={...}

(configuration dans les évaluateurs)

Sélection du juge

MLflow 2.x

MLflow 3.x

Exécute automatiquement tous les juges applicables en fonction des données

Doit explicitement spécifier quels évaluateurs utiliser

Utilisez evaluator_config pour limiter les juges

Passez les scorers souhaités dans le parameter scorers

global_guidelines dans la configuration

Utiliser l’évaluateur Guidelines()

Juges sélectionnés en fonction des champs de données disponibles

Vous contrôlez exactement quels évaluateurs s'exécutent.

MLflow 2.x

MLflow 3.x

Exécute automatiquement tous les juges applicables en fonction des données

Doit explicitement spécifier quels évaluateurs utiliser

Utilisez evaluator_config pour limiter les juges

Passez les scorers souhaités dans le parameter scorers

global_guidelines dans la configuration

Utiliser l’évaluateur Guidelines()

Juges sélectionnés en fonction des champs de données disponibles

Vous contrôlez exactement quels évaluateurs s'exécutent.

Champs de données

Champ MLflow 2.x

Champ MLflow 3.x

Description

request

inputs

Entrée de l'agent

response

outputs

Sortie de l'agent

expected_response

expectations

Vérité terrain

retrieved_context

Accessible via des traces

Contexte de la trace

guidelines

Partie de la configuration de l'évaluateur

Déplacé au niveau de l'évaluateur

Champ MLflow 2.x

Champ MLflow 3.x

Description

request

inputs

Entrée de l'agent

response

outputs

Sortie de l'agent

expected_response

expectations

Vérité terrain

retrieved_context

Accessible via des traces

Contexte de la trace

guidelines

Partie de la configuration de l'évaluateur

Déplacé au niveau de l'évaluateur

Métriques personnalisées et scorers

MLflow 2.x

MLflow 3.x

Notes

@metric décorateur

@scorer décorateur

Nouveau nom

def my_metric(request, response, ...)

def my_scorer(inputs, outputs, expectations, traces)

Plus simple

Plusieurs paramètres attendus : *

Param expectations unique de type dict

Consolidé

custom_expected

Fait partie de expectations dictionnaire

Plus simple

request parameter

inputs parameter

Nomenclature cohérente

response parameter

outputs parameter

Nomenclature cohérente

MLflow 2.x

MLflow 3.x

Notes

@metric décorateur

@scorer décorateur

Nouveau nom

def my_metric(request, response, ...)

def my_scorer(inputs, outputs, expectations, traces)

Plus simple

Plusieurs paramètres attendus : *

Param expectations unique de type dict

Consolidé

custom_expected

Fait partie de expectations dictionnaire

Plus simple

request parameter

inputs parameter

Nomenclature cohérente

response parameter

outputs parameter

Nomenclature cohérente

Accès aux résultats

MLflow 2.x

MLflow 3.x

results.tables['eval_results']

mlflow.search_traces(run_id=results.run_id)

Accès direct au DataFrame

Itérer sur les traces et les évaluations

MLflow 2.x

MLflow 3.x

results.tables['eval_results']

mlflow.search_traces(run_id=results.run_id)

Accès direct au DataFrame

Itérer sur les traces et les évaluations

Juges LLM

Cas d'usage

MLflow 2.x

MLflow 3.x recommandé.

Vérification de la correction de base

judges.correctness() dans @metric

Correctness() évaluateur ou judges.is_correct() juge

Évaluation de la sécurité

judges.safety() dans @metric

Safety() évaluateur ou judges.is_safe() juge

Directives globales

judges.guideline_adherence()

Guidelines() évaluateur ou judges.meets_guidelines() juge

Directives par ligne d'ensemble d'évaluation

judges.guideline_adherence() avec expected_*

ExpectationsGuidelines() évaluateur ou judges.meets_guidelines() juge

Vérifiez le soutien factuel.

judges.groundedness()

judges.is_grounded() ou évaluateur RetrievalGroundedness()

Vérifiez la pertinence du contexte

judges.relevance_to_query()

judges.is_context_relevant() ou évaluateur RelevanceToQuery()

Vérifier la pertinence des segments de contexte

judges.chunk_relevance()

judges.is_context_relevant() ou évaluateur RetrievalRelevance()

Vérifier que le contexte est complet

judges.context_sufficiency()

judges.is_context_sufficient() ou évaluateur RetrievalSufficiency()

Logique personnalisée complexe

Appels directs de juges dans @metric

Évaluateurs prédéfinis ou @scorer avec des appels de juge

Cas d'usage

MLflow 2.x

MLflow 3.x recommandé.

Vérification de la correction de base

judges.correctness() dans @metric

Correctness() évaluateur ou judges.is_correct() juge

Évaluation de la sécurité

judges.safety() dans @metric

Safety() évaluateur ou judges.is_safe() juge

Directives globales

judges.guideline_adherence()

Guidelines() évaluateur ou judges.meets_guidelines() juge

Directives par ligne d'ensemble d'évaluation

judges.guideline_adherence() avec expected_*

ExpectationsGuidelines() évaluateur ou judges.meets_guidelines() juge

Vérifiez le soutien factuel.

judges.groundedness()

judges.is_grounded() ou évaluateur RetrievalGroundedness()

Vérifiez la pertinence du contexte

judges.relevance_to_query()

judges.is_context_relevant() ou évaluateur RelevanceToQuery()

Vérifier la pertinence des segments de contexte

judges.chunk_relevance()

judges.is_context_relevant() ou évaluateur RetrievalRelevance()

Vérifier que le contexte est complet

judges.context_sufficiency()

judges.is_context_sufficient() ou évaluateur RetrievalSufficiency()

Logique personnalisée complexe

Appels directs de juges dans @metric

Évaluateurs prédéfinis ou @scorer avec des appels de juge

Feedback humain

MLflow 2.x

MLflow 3.x

databricks.agents.review_app

mlflow.genai.labeling

databricks.agents.datasets

mlflow.genai.datasets

review_app.label_schemas.*

mlflow.genai.label_schemas.*

app.create_labeling_session()

labeling.create_labeling_session()

MLflow 2.x

MLflow 3.x

databricks.agents.review_app

mlflow.genai.labeling

databricks.agents.datasets

mlflow.genai.datasets

review_app.label_schemas.*

mlflow.genai.label_schemas.*

app.create_labeling_session()

labeling.create_labeling_session()

Commandes de migration courantes

Bash
# Find old evaluate calls
grep -r "mlflow.evaluate" . --include="*.py"

# Find old metric decorators
grep -r "@metric" . --include="*.py"

# Find old data fields
grep -r '"request":\|"response":\|"expected_response":' . --include="*.py"

# Find old imports
grep -r "databricks.agents" . --include="*.py"

Ressources supplémentaires

Pour une assistance supplémentaire lors de la migration, consultez la documentation MLflow ou contactez votre équipe de support Databricks.