Gérer les scorers de production
Bêta
Cette fonctionnalité est en Bêta. Les administrateurs du Workspace peuvent contrôler l'accès à cette fonctionnalité à partir de la page Previews . Consultez Gérer les aperçus Databricks.
Après avoir configuré le monitoring de production, vous pouvez gérer vos scorers tout au long de leur cycle de vie. Cette page explique comment lister, mettre à jour, arrêter, redémarrer et supprimer des scorers.
Pour la référence complète des paramètres d'API, consultez la référence de l'API de gestion du cycle de vie Scorer.
Cycle de vie du Scorer
Les cycles de vie des scoreurs sont centrés sur les expérimentations MLflow. Les évaluateurs sont immuables : chaque opération de cycle de vie renvoie une nouvelle instance d’évaluateur au lieu de modifier l’original.
État | Description | API |
|---|---|---|
Non enregistré | La fonction de score est définie, mais inconnue du serveur. | |
Enregistré | L'évaluateur est enregistré dans l'expérience MLflow active. | |
Actif | L'évaluateur s'exécute avec un taux d'échantillonnage > 0. | |
Arrêté | L'évaluateur est enregistré mais non exécuté (taux d'échantillonnage = 0). | |
Supprimé | Le marqueur a été supprimé du serveur et n'est plus associé à l'experimentation. |
Exemple de cycle de vie
L'exemple suivant illustre un évaluateur passant par tous les états du cycle de vie :
from mlflow.genai.scorers import Safety, scorer, ScorerSamplingConfig, delete_scorer
# Register → Start → Update → Stop → Delete
safety_judge = Safety().register(name="safety_check")
safety_judge = safety_judge.start(
sampling_config=ScorerSamplingConfig(sample_rate=1.0),
)
safety_judge = safety_judge.update(
sampling_config=ScorerSamplingConfig(sample_rate=0.8),
)
safety_judge = safety_judge.stop()
delete_scorer(name="safety_check")
Gérer les scoreurs
Les APIs suivantes sont disponibles pour gérer les évaluateurs.
API | Description | Exemple |
|---|---|---|
Répertoriez tous les évaluateurs enregistrés pour l'Experimentation actuelle. | ||
Récupérer un évaluateur enregistré par son nom. | ||
Modifiez la configuration d’échantillonnage d’un évaluateur actif. C'est une opération immuable. | ||
Appliquer rétroactivement des métriques nouvelles ou mises à jour aux traces historiques. | ||
Supprimer un évaluateur enregistré par nom. |
Liste des évaluateurs
Pour afficher tous les évaluateurs enregistrés pour votre expérimentation :
from mlflow.genai.scorers import list_scorers
# List all registered scorers
scorers = list_scorers()
for scorer in scorers:
print(f"Name: {scorer.name}")
print(f"Sample rate: {scorer.sample_rate}")
print(f"Filter: {scorer.filter_string}")
print("---")
Obtenir et mettre à jour un évaluateur
Utilisez get_scorer() pour récupérer un évaluateur par son nom, puis update() pour modifier sa configuration. Puisque les évaluateurs sont immuables, update() renvoie une nouvelle instance.
from mlflow.genai.scorers import get_scorer, ScorerSamplingConfig
# Get existing scorer and update its configuration (immutable operation)
safety_judge = get_scorer(name="safety_monitor")
updated_judge = safety_judge.update(sampling_config=ScorerSamplingConfig(sample_rate=0.8))
# The original scorer remains unchanged; update() returns a new scorer instance
print(f"Original sample rate: {safety_judge.sample_rate}") # Original rate
print(f"Updated sample rate: {updated_judge.sample_rate}") # New rate
Arrêter et supprimer les évaluateurs
L'arrêt d'un évaluateur définit son taux d'échantillonnage à 0 mais le maintient enregistré. La suppression d'un évaluateur le supprime entièrement du serveur.
from mlflow.genai.scorers import get_scorer, delete_scorer, ScorerSamplingConfig
# Get existing scorer
databricks_scorer = get_scorer(name="databricks_mentions")
# Stop monitoring (sets sample_rate to 0, keeps scorer registered)
stopped_scorer = databricks_scorer.stop()
print(f"Sample rate after stop: {stopped_scorer.sample_rate}") # 0
# Restart monitoring from a stopped scorer
restarted_scorer = stopped_scorer.start(sampling_config=ScorerSamplingConfig(sample_rate=0.5))
# Or remove scorer entirely from the server
delete_scorer(name=databricks_scorer.name)
Mises à jour immuables
Les évaluateurs, y compris les Juges LLM, sont des objets immuables. Lorsque vous mettez à jour un évaluateur, une copie mise à jour est créée plutôt que de modifier l'original. Cette immuabilité permet de garantir que les évaluateurs destinés à la production ne sont pas modifiés accidentellement.
from mlflow.genai.scorers import Safety, ScorerSamplingConfig
original_judge = Safety().register(name="safety")
original_judge = original_judge.start(
sampling_config=ScorerSamplingConfig(sample_rate=0.3),
)
# Update returns new instance
updated_judge = original_judge.update(
sampling_config=ScorerSamplingConfig(sample_rate=0.8),
)
# Original remains unchanged
print(f"Original: {original_judge.sample_rate}") # 0.3
print(f"Updated: {updated_judge.sample_rate}") # 0.8
Bonnes pratiques
- Vérifiez l’état de l’évaluateur avant les Opérations à l’aide de
sample_rate. - Utilisez le modèle immuable. Affectez les résultats de
.start(),.update(),.stop()à des variables. - Comprenez la différence entre
.stop()(conserve l'enregistrement) etdelete_scorer()(supprime entièrement).
Ressources supplémentaires
-
Surveiller les applications GenAI en production - Mettre en place le monitoring de la production.
-
Remplir les traces historiques avec des évaluateurs — Appliquer les évaluateurs aux traces historiques.
-
Référence de l’API de gestion du cycle de vie des scoreurs – Référence complète de l’API pour la gestion du cycle de vie des scoreurs.