Aller au contenu principal

Référence de l'API de gestion du cycle de vie des Scorer

info

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.

Les méthodes de cycle de vie des évaluateurs MLflow (enregistrement, start, mise à jour et arrêt) contrôlent les évaluateurs qui exécutent une évaluation continue de la qualité sur les traces de production. Cette page est la référence de l'API pour ces méthodes. Pour un guide basé sur les tâches concernant le monitoring en production sur Databricks, consultez Surveiller les applications GenAI en production.

Méthodes d'instance de scorer

Scorer.register()

**Référence d'API :** Scorer.register

Enregistrez une fonction d’évaluateur personnalisé auprès du serveur. Utilisé pour les évaluateurs créés avec le @scorer décorateur.

Python
@scorer
def custom_scorer(outputs):
return len(str(outputs.get("response", "")))

# Register the custom scorer
my_scorer = custom_scorer.register(name="response_length")

Paramètres :

  • name (str) : nom unique pour le scoreur au sein de l'Expérimentation. Prend par default le nom existant du scoreur.

Retourne : nouvelle instance avec enregistrement du Scorer serveur

Scorer.start()

**Référence d'API :** Scorer.start

Démarrez l'évaluation en ligne avec la configuration d'échantillonnage spécifiée.

Python
from mlflow.genai.scorers import ScorerSamplingConfig

# Start monitoring with sampling
active_scorer = registered_scorer.start(
sampling_config=ScorerSamplingConfig(
sample_rate=0.5,
filter_string="trace.status = 'OK'"
),
)

Paramètres :

  • name (str) : Nom de l’évaluateur. Si non fourni, il prend par default le nom actuel de l'évaluateur.
  • sampling_config (ScorerSamplingConfig) : Configuration de l'échantillonnage de trace
    • sample_rate (float) : Fraction des traces à évaluer (0,0-1,0). default : 1,0
    • filter_string (str, facultatif) : filtre compatible MLflow pour la sélection des traces

Retourne : Nouvelle instance Scorer à l'état actif

Scorer.update()

**Référence d'API :** Scorer.update

Modifiez la configuration d’échantillonnage d’un évaluateur actif. C'est une opération immuable.

Python
# Update sampling rate (returns new scorer instance)
updated_scorer = active_scorer.update(
sampling_config=ScorerSamplingConfig(
sample_rate=0.8,
),
)

# Original scorer remains unchanged
print(f"Original: {active_scorer.sample_rate}") # 0.5
print(f"Updated: {updated_scorer.sample_rate}") # 0.8

Paramètres :

  • name (str) : Nom de l’évaluateur. Si non fourni, il prend par default le nom actuel de l'évaluateur.
  • sampling_config (ScorerSamplingConfig) : Configuration de l'échantillonnage de trace
    • sample_rate (float) : Fraction des traces à évaluer (0,0-1,0). default : 1,0
    • filter_string (str, facultatif) : filtre compatible MLflow pour la sélection des traces

Retourne : Nouvelle instance Scorer avec une configuration mise à jour

Scorer.stop()

**Référence d'API :** Scorer.stop

Arrêtez l'évaluation en ligne en définissant le taux d'échantillonnage sur 0. L'évaluateur reste enregistré.

Python
# Stop monitoring but keep scorer registered
stopped_scorer = active_scorer.stop()
print(f"Sample rate: {stopped_scorer.sample_rate}") # 0

Paramètres :

  • name (str) : Nom de l’évaluateur. Si non fourni, il prend par default le nom actuel de l'évaluateur.

Renvoie : nouvelle instance Scorer avec sample_rate=0

Fonctions de registre de l'évaluateur

mlflow.genai.scorers.get_scorer()

**Référence d'API :** get_scorer

Récupérer un évaluateur enregistré par son nom.

Python
from mlflow.genai.scorers import get_scorer

# Get existing scorer by name
existing_scorer = get_scorer(name="safety_monitor")
print(f"Current sample rate: {existing_scorer.sample_rate}")

Paramètres :

  • name (str) : nom de l'évaluateur enregistré

Retourne : une Scorer instance

mlflow.genai.scorers.list_scorers()

**Référence d'API :** list_scorers

Répertoriez tous les évaluateurs enregistrés pour l'Experimentation actuelle.

Python
from mlflow.genai.scorers import list_scorers

# List all registered scorers
all_scorers = list_scorers()
for scorer in all_scorers:
print(f"Name: {scorer._server_name}")
print(f"Sample rate: {scorer.sample_rate}")
print(f"Filter: {scorer.filter_string}")

Renvoie : Liste d'Scorer instances

mlflow.genai.scorers.delete_scorer()

**Référence d'API :** delete_scorer

Supprimer un évaluateur enregistré par nom.

Python
from mlflow.genai.scorers import delete_scorer

# Delete existing scorer by name
delete_scorer(name="safety_monitor")

Paramètres :

  • name (str) : nom de l'évaluateur enregistré

Retourne : Aucun

Propriétés du scorer

Scorer.sample_rate

Taux d'échantillonnage actuel (0,0-1,0). Renvoie 0 pour les évaluateurs arrêtés.

Python
print(f"Sampling {scorer.sample_rate * 100}% of traces")

Scorer.filter_string

Chaîne de filtre de trace actuelle pour la sélection de trace MLflow.

Python
print(f"Filter: {scorer.filter_string}")

Classes de configuration

ScorerSamplingConfig

**Référence d'API :** ScorerSamplingConfig

Classe de données qui contient la configuration d'échantillonnage pour un évaluateur.

Python
from mlflow.genai import ScorerSamplingConfig

config = ScorerSamplingConfig(
sample_rate=0.5,
filter_string="trace.status = 'OK'"
)

Attributs :

  • sample_rate (flottant, facultatif) : Taux d'échantillonnage entre 0,0 et 1,0
  • filter_string (str, optionnel) : filtre de trace MLflow

Remplissage de métrique

backfill_scorers()

Python
from databricks.agents.scorers import backfill_scorers, BackfillScorerConfig

job_id = backfill_scorers(
experiment_id="your-experiment-id",
scorers=[
BackfillScorerConfig(scorer=safety_scorer, sample_rate=0.8),
BackfillScorerConfig(scorer=response_length, sample_rate=0.9)
],
start_time=datetime(2024, 1, 1),
end_time=datetime(2024, 1, 31)
)

Paramètres :

Tous les paramètres sont de type mot-clé uniquement.

  • experiment_id (str, facultatif) : l'ID de l'expérimentation à remplir. Si non fourni, utilise le contexte d'expérimentation actuel.
  • scorers (Union[List[BackfillScorerConfig], List[str]], obligatoire) : Liste d'objets BackfillScorerConfig avec des taux d'échantillonnage personnalisés (si sample_rate n'est pas fourni dans BackfillScorerConfig, la valeur par default est le taux d'échantillonnage de l'évaluateur enregistré), OU liste de noms d'évaluateurs (chaînes de caractères) pour utiliser les taux d'échantillonnage actuels des évaluateurs planifiés de l'Expérimentation. Ne peut pas être vide.
  • start_time (datetime, facultatif) : heure de start pour l’évaluation du remplissage. Si vous omettez ceci mais transmettez end_time, le backfill start un jour avant end_time
  • end_time (datetime, facultatif) : heure de fin pour l’évaluation du remplissage. Si vous omettez ceci mais transmettez start_time, le remplissage s’exécute jusqu’à l’heure actuelle
important

Si vous omettez à la fois start_time et end_time, le remplissage ne couvre que les sept derniers jours, et non l’historique complet des traces. L’omission d’une seule borne applique une valeur default différente, comme décrit ci-dessus. Pour évaluer des traces plus anciennes, transmettez un start_time explicite.

Retourne : l'ID du Job de remplissage créé pour le suivi de l'état (chaîne de caractères)