Pular para o conteúdo principal

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

info

Beta

Este recurso está em versão Beta. Os administradores do espaço de trabalho podem controlar o acesso a este recurso na página de Pré-visualizações . Veja as prévias do Gerenciador Databricks.

Os métodos de ciclo de vida do avaliador MLflow (registro, começar, atualização e interrupção) controlam os avaliadores que executam a avaliação contínua de qualidade em rastreamentos de produção. Esta página é a referência da API para esses métodos. Para um guia baseado em tarefas sobre monitoramento de produção no Databricks, consulte Monitorar aplicativos GenAI em produção.

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

Referência da API : 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

aterro

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)