Pular para o conteúdo principal

Referência de avaliação e monitoramento

Esta página fornece documentação de referência para conceitos de avaliação e monitoramento do MLflow. Para guia e tutorial, veja Avaliação e monitoramento.

dica

Referência de API

Para obter a documentação da API de avaliação e monitoramento do MLflow 3, consulte Referência da API.

Referência rápida

Conceito

Propósito

Uso

Marcadores

Avalie a qualidade do rastreamento

@scorer decorador ou classe Scorer

Juízes

Avaliação baseada no LLM

Embrulhado em marcadores para uso

Arnês de avaliação

execução avaliação off-line

mlflow.genai.evaluate()

Conjunto de dados de avaliação

Teste de gerenciamento de dados

mlflow.genai.datasets

Avaliação execução

Armazene os resultados da avaliação

Criado por harness

Monitoramento da produção

Acompanhamento de qualidade ao vivo

Scorer.register, Scorer.start

Marcadores: mlflow.genai.scorers

Funções que avaliam traços e retornam feedback.

Python
from mlflow.genai.scorers import scorer
from mlflow.entities import Feedback
from typing import Optional, Dict, Any, List

@scorer
def my_custom_scorer(
*, # MLflow calls your scorer with named arguments
inputs: Optional[Dict[Any, Any]], # App's input from trace
outputs: Optional[Dict[Any, Any]], # App's output from trace
expectations: Optional[Dict[str, Any]], # Ground truth (offline only)
trace: Optional[mlflow.entities.Trace] # Complete trace
) -> int | float | bool | str | Feedback | List[Feedback]:
# Your evaluation logic
return Feedback(value=True, rationale="Explanation")

Saiba mais sobre Scorers

Juízes: mlflow.genai.judges

Avaliadores de qualidade baseados em LLM que devem ser envolvidos em pontuadores.

Python
from mlflow.genai.judges import is_safe, is_relevant
from mlflow.genai.scorers import scorer

# Direct usage
feedback = is_safe(content="Hello world")

# Wrapped in scorer
@scorer
def safety_scorer(outputs):
return is_safe(content=outputs["response"])

Saiba mais sobre os juízes

Arnês de avaliação: mlflow.genai.evaluate(...)

Orquestra a avaliação off-line durante o desenvolvimento.

Python
import mlflow
from mlflow.genai.scorers import Safety, RelevanceToQuery

results = mlflow.genai.evaluate(
data=eval_dataset, # Test data
predict_fn=my_app, # Your app
scorers=[Safety(), RelevanceToQuery()], # Quality metrics
model_id="models:/my-app/1" # Optional version tracking
)

Saiba mais sobre o Evaluation Harness

Conjunto de dados de avaliação: mlflow.genai.datasets.EvaluationDataset

Dados de teste versionados com verdade básica opcional.

Python
import mlflow.genai.datasets

# Create from production traces
dataset = mlflow.genai.datasets.create_dataset(
uc_table_name="catalog.schema.eval_data"
)

# Add traces
traces = mlflow.search_traces(filter_string="trace.status = 'OK'")
dataset.insert(traces)

# Use in evaluation
results = mlflow.genai.evaluate(data=dataset, ...)

Saiba mais sobre o conjunto de dados de avaliação

Avaliação da execução: mlflow.entities.Run

Resultados da avaliação contendo traços com feedback.

Python
# Access evaluation results
traces = mlflow.search_traces(run_id=results.run_id)

# Filter by feedback
good_traces = traces[traces['assessments'].apply(
lambda x: all(a.value for a in x if a.name == 'Safety')
)]

Saiba mais sobre Avaliação execução

Monitoramento da produção

info

Beta

Este recurso está em Beta.

Avaliação contínua dos aplicativos implantados.

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

# Register the scorer with a name and start monitoring
safety_scorer = Safety().register(name="my_safety_scorer") # name must be unique to experiment
safety_scorer = safety_scorer.start(sampling_config=ScorerSamplingConfig(sample_rate=0.7))

Saiba mais sobre o monitoramento da produção