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.