Pular para o conteúdo principal

avaliadores de produção

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.

Após configurar o monitoramento de produção, você poderá gerenciar seus avaliadores ao longo de todo o seu ciclo de vida. Esta página explica como listar, atualizar, parar, reiniciar e excluir avaliadores.

Para obter a referência completa dos parâmetros da API, consulte a referência da API de gerenciamento do ciclo de vida do Scorer.

Ciclo de vida do marcador

Os ciclos de vida dos avaliadores são centrados em experimentos do MLflow. Os marcadores são imutáveis — cada operação do ciclo de vida retorna uma nova instância do marcador em vez de modificar a original.

Status

Descrição

API

Não registrado

A função de pontuação está definida, mas não é conhecida pelo servidor.

Registrado

O avaliador está registrado no experimento MLflow ativo.

.register()

Ativas

O Scorer está sendo executado com uma taxa de amostragem > 0.

.start()

Parado

O sistema de pontuação está registrado, mas não está em execução (taxa de amostragem = 0).

.stop()

Excluído

O responsável pela avaliação foi removido do servidor e não está mais associado ao experimento.

delete_scorer()

Exemplo de ciclo de vida

O exemplo a seguir demonstra um avaliador percorrendo todos os estados do ciclo de vida:

Python
from mlflow.genai.scorers import Safety, scorer, ScorerSamplingConfig, delete_scorer

# Register → Start → Update → Stop → Delete
safety_judge = Safety().register(name="safety_check")
safety_judge = safety_judge.start(
sampling_config=ScorerSamplingConfig(sample_rate=1.0),
)
safety_judge = safety_judge.update(
sampling_config=ScorerSamplingConfig(sample_rate=0.8),
)
safety_judge = safety_judge.stop()
delete_scorer(name="safety_check")

marcadores

As seguintes APIs estão disponíveis para gerenciar os avaliadores.

API

Descrição

Exemplo

list_scorers()

Liste todos os avaliadores registrados para o experimento atual.

Lista de pontuadores

get_scorer()

Recupere o nome de um avaliador registrado.

Obtenha e atualize um marcador.

Scorer.update()

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

Obtenha e atualize um marcador.

backfill_scorer()

Aplicar retroativamente métricas novas ou atualizadas a registros históricos.

Preencha os vestígios históricos com marcadores.

delete_scorer()

Excluir um avaliador registrado pelo nome.

Pare e exclua os marcadores

Lista de pontuadores

Para view todos os avaliadores registrados para o seu experimento:

Python
from mlflow.genai.scorers import list_scorers

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

Obtenha e atualize um marcador.

Use get_scorer() para recuperar um avaliador pelo nome e, em seguida, update() para modificar sua configuração. Como os marcadores são imutáveis, update() retorna uma nova instância.

Python
from mlflow.genai.scorers import get_scorer, ScorerSamplingConfig

# Get existing scorer and update its configuration (immutable operation)
safety_judge = get_scorer(name="safety_monitor")
updated_judge = safety_judge.update(sampling_config=ScorerSamplingConfig(sample_rate=0.8))

# The original scorer remains unchanged; update() returns a new scorer instance
print(f"Original sample rate: {safety_judge.sample_rate}") # Original rate
print(f"Updated sample rate: {updated_judge.sample_rate}") # New rate

Pare e exclua os marcadores

Ao interromper um marcador, sua taxa de amostragem é zerada, mas ele permanece registrado. Excluir um marcador o remove completamente do servidor.

Python
from mlflow.genai.scorers import get_scorer, delete_scorer, ScorerSamplingConfig

# Get existing scorer
databricks_scorer = get_scorer(name="databricks_mentions")

# Stop monitoring (sets sample_rate to 0, keeps scorer registered)
stopped_scorer = databricks_scorer.stop()
print(f"Sample rate after stop: {stopped_scorer.sample_rate}") # 0

# Restart monitoring from a stopped scorer
restarted_scorer = stopped_scorer.start(sampling_config=ScorerSamplingConfig(sample_rate=0.5))

# Or remove scorer entirely from the server
delete_scorer(name=databricks_scorer.name)

Atualizações imutáveis

Os avaliadores, incluindo os juízes do LLM, são objetos imutáveis. Ao atualizar um marcador de pontuação, uma cópia atualizada é criada em vez de modificar o original. Essa imutabilidade ajuda a garantir que os marcadores destinados à produção não sejam modificados acidentalmente.

Python
from mlflow.genai.scorers import Safety, ScorerSamplingConfig

original_judge = Safety().register(name="safety")
original_judge = original_judge.start(
sampling_config=ScorerSamplingConfig(sample_rate=0.3),
)

# Update returns new instance
updated_judge = original_judge.update(
sampling_config=ScorerSamplingConfig(sample_rate=0.8),
)

# Original remains unchanged
print(f"Original: {original_judge.sample_rate}") # 0.3
print(f"Updated: {updated_judge.sample_rate}") # 0.8

Melhores práticas

  • Verifique o estado do avaliador antes das operações usando sample_rate.
  • Utilize o padrão imutável. Atribua os resultados de .start(), .update(), .stop() às variáveis.
  • Entenda a diferença entre .stop() (preserva o registro) e delete_scorer() (remove completamente).

Próximos passos