Partager via


Migrer vers MLflow 3 depuis Agent Evaluation : référence rapide

Cette référence rapide récapitule les principales modifications pour la migration de l’évaluation de l’agent et de MLflow 2 vers les API améliorées dans MLflow 3. Consultez le guide complet sur la migration vers MLflow 3 depuis l'évaluation de l'agent.

Importer des mises à jour

### 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)

Sélection du juge

MLflow 2.x MLflow 3.x
Exécute automatiquement tous les juges pertinents en fonction des données Doit spécifier explicitement les scoreurs à utiliser
Utiliser evaluator_config pour limiter les juges Passe les évaluateurs souhaités dans le paramètre scorers
global_guidelines dans la configuration Utilise l’évaluateur Guidelines()
Juges sélectionnés en fonction des champs de données disponibles Vous contrôlez précisément quels évaluateurs sont exécutés

Champs de données

Champ MLflow 2.x Champ MLflow 3.x Descriptif
request inputs Entrée de l’agent
response outputs Sortie de l’agent
expected_response expectations Vérité de terrain
retrieved_context Accessible via des traces Contexte de la trace
guidelines Fait partie de la configuration de l’évaluateur Géré directement au niveau de l’évaluateur

Métriques et scorers personnalisés

MLflow 2.x MLflow 3.x Remarques
Décorateur @metric Décorateur @scorer Nouveau nom
def my_metric(request, response, ...) def my_scorer(inputs, outputs, expectations, traces) Simplifié
Plusieurs paramètres expected_* Un seul paramètre expectations qui est un dictionnaire Consolidé
custom_expected Fait partie du dictionnaire expectations Simplifié
Paramètre request Paramètre inputs Nom cohérent
Paramètre response Paramètre outputs Nom cohérent

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 aux dataframes Parcourir les traces et les évaluations

Juges LLM

Cas d’usage MLflow 2.x MLflow 3.x recommandé
Vérification de l’exactitude de base judges.correctness() dans @metric Correctness() scoreur ou judges.is_correct() juge
Évaluation de la sécurité judges.safety() dans @metric Safety() scoreur ou judges.is_safe() juge
Recommandations globales judges.guideline_adherence() Guidelines() scoreur ou judges.meets_guidelines() juge
Directives par ligne de l’évaluation judges.guideline_adherence() avec expected_* ExpectationsGuidelines() scoreur ou judges.meets_guidelines() juge
Vérifier l'exactitude des faits judges.groundedness() judges.is_grounded() ou évaluateur RetrievalGroundedness()
Vérifier la pertinence du contexte judges.relevance_to_query() judges.is_context_relevant() ou évaluateur RelevanceToQuery()
Vérifier la pertinence des blocs de contexte judges.chunk_relevance() judges.is_context_relevant() ou évaluateur RetrievalRelevance()
Vérifier l’exhaustivité du contexte judges.context_sufficiency() judges.is_context_sufficient() ou évaluateur RetrievalSufficiency()
Logique personnalisée complexe Appels directs aux juges dans @metric Évaluateurs prédéfinis ou @scorer avec appels aux juges

Commentaires humains

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

# 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 obtenir un support supplémentaire pendant la migration, consultez la documentation MLflow ou contactez votre équipe de support Databricks.