Pular para o conteúdo principal

Referência da API de gerenciamento do ciclo de vida do Scorer

info

Beta

Este recurso está em fase beta.

Esta página descreve os métodos usados para implementar o monitoramento da produção. Para um guia de monitoramento de produção em Databricks, consulte Monitoramento de produção para GenAI.

Métodos de instância do Scorer

Scorer.register()

Referência da API : Scorer.register

registro uma função de pontuação personalizada com o servidor. Usado para marcadores criados com o decorador @scorer.

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

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

Parâmetros:

  • name (str): Nome exclusivo para o marcador do experimento. padrão para o nome existente do avaliador.

Retorna: Nova instância Scorer com registro de servidor

Scorer.start()

Referência da API : Scorer.start

Comece a avaliação on-line com a configuração de amostragem especificada.

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'"
),
)

Parâmetros:

  • name (str): Nome do marcador. Se não for fornecido, o padrão será o nome atual do avaliador.
  • sampling_config (ScorerSamplingConfig): Configuração de amostragem de rastreamento
    • sample_rate (float): Fração de traços a serem avaliados (0,0-1,0). padrão: 1.0
    • filter_string (str, opcional): filtro compatível com MLFlow para seleção de traços

Retorna: Nova instância Scorer em estado ativo

Scorer.update()

Referência da API : Scorer.update

Modifique a configuração de amostragem de um marcador ativo. Esta é uma operação imutável.

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

Parâmetros:

  • name (str): Nome do marcador. Se não for fornecido, o padrão será o nome atual do avaliador.
  • sampling_config (ScorerSamplingConfig): Configuração de amostragem de rastreamento
    • sample_rate (float): Fração de traços a serem avaliados (0,0-1,0). padrão: 1.0
    • filter_string (str, opcional): filtro compatível com MLFlow para seleção de traços

Retorna: Nova instância Scorer com configuração atualizada

Scorer.stop()

Referência da API : Scorer.stop

Pare a avaliação on-line definindo a taxa de amostragem como 0. Mantém o marcador registrado.

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

Parâmetros:

  • name (str): Nome do marcador. Se não for fornecido, o padrão será o nome atual do avaliador.

Retorna: Nova instância Scorer com sample_rate=0

Funções de registro do marcador

mlflow.genai.scorers.get_scorer()

Referência da API : get_scorer

Recupere um marcador registrado pelo nome.

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}")

Parâmetros:

  • name (str): Nome do marcador registrado

Retorna: instância Scorer

mlflow.genai.scorers.list_scorers()

Liste todos os pontuadores registrados para o experimento atual.

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}")

Retorna: Lista de instâncias Scorer

mlflow.genai.scorers.delete_scorer ()

Referência da API : delete_scorer

Exclua um marcador registrado pelo nome.

Python
from mlflow.genai.scorers import delete_scorer

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

Parâmetros:

  • name (str): Nome do marcador registrado

Devoluções: Nenhuma

Propriedades do marcador

Scorer.sample_rate

Taxa de amostragem atual (0,0-1,0). Retorna 0 para marcadores parados.

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

Scorer.filter_string

Strings de filtro de rastreamento atuais para seleção de rastreamento em MLflow.

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

Classes de configuração

ScorerSamplingConfig

Referência da API : ScorerSamplingConfig

Classe de dados que contém a configuração de amostragem para um marcador.

Python
from mlflow.genai import ScorerSamplingConfig

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

Atributos:

  • sample_rate (flutuante, opcional): taxa de amostragem entre 0,0 e 1,0
  • filter_string (str, opcional): filtro de rastreamento MLflow

preenchimento de métricas

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

Parâmetros:

Todos os parâmetros são somente para palavras-chave.

  • experiment_id (str, opcional) : O ID do experimento a ser preenchido. Se não for fornecido, usa o contexto atual do experimento
  • scorers (Union[List[BackfillScorerConfig], List[str]], obrigatório) : Lista de objetos BackfillScorerConfig com taxas de amostragem personalizadas (se sample_rate não for fornecido em BackfillScorerConfig, o padrão será a taxa de amostragem do avaliador registrado) OU lista de nomes de avaliadores (strings) para usar as taxas de amostragem atuais dos avaliadores programados do experimento. Não pode estar vazio.
  • start_time (datetime, opcional) : hora de início para avaliação do preenchimento retroativo. Se não for fornecido, nenhuma restrição de tempo inicial será aplicada.
  • end_time (data e hora, opcional) : Hora de término para avaliação do preenchimento. Se não for fornecido, nenhuma restrição de horário de término será aplicada

Retorna: Job ID da tarefa de preenchimento criada para o status acompanhamento (str)