Referência da API de gerenciamento do ciclo de vida do Scorer
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.
@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.
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 rastreamentosample_rate(float): Fração de traços a serem avaliados (0,0-1,0). padrão: 1.0filter_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.
# 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 rastreamentosample_rate(float): Fração de traços a serem avaliados (0,0-1,0). padrão: 1.0filter_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.
# 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.
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.
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.
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.
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.
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.
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,0filter_string(str, opcional): filtro de rastreamento MLflow
aterro
backfill_scorers()
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 experimentoscorers(Union[List[BackfillScorerConfig], List[str]], obrigatório) : Lista de objetosBackfillScorerConfigcom 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)