Referência da API de gerenciamento do ciclo de vida do Scorer
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
.
@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()
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
preenchimento de métricas
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 objetosBackfillScorerConfig
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)