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, consulte Avaliar e monitorar agentes AI.
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 |
|---|---|---|
Avalie a qualidade do rastreamento |
| |
Avaliação baseada no LLM | Embrulhado em marcadores para uso | |
execução avaliação off-line | ||
Teste de gerenciamento de dados |
| |
Armazene os resultados da avaliação | Criado por harness | |
Acompanhamento de qualidade ao vivo |
|
Marcadores: mlflow.genai.scorers
Funções que avaliam traços e retornam feedback.
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")
Juízes
Os juízes do LLM são um tipo de avaliador do MLflow que usa grandes modelos de linguagem para avaliação de qualidade. Enquanto os avaliadores baseados em código usam lógica programática, os juízes aproveitam as capacidades de raciocínio dos LLMs para avaliar critérios como utilidade, relevância, segurança e muito mais.
from mlflow.genai.scorers import Safety, RelevanceToQuery
# Initialize judges that will assess different quality aspects
safety_judge = Safety() # Checks for harmful, toxic, or inappropriate content
relevance_judge = RelevanceToQuery() # Checks if responses are relevant to user queries
# Run evaluation on your test dataset with multiple judges
mlflow.genai.evaluate(
data=eval_data, # Your test cases (inputs, outputs, optional ground truth)
predict_fn=my_app, # The application function you want to evaluate
scorers=[safety_judge, relevance_judge] # Both judges run on every test case
)
Arnês de avaliação: mlflow.genai.evaluate(...)
Orquestra a avaliação off-line durante o desenvolvimento.
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.
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.
# 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
Beta
Este recurso está em Beta.
Avaliação contínua dos aplicativos implantados.
import mlflow
from mlflow.genai.scorers import Safety, ScorerSamplingConfig
# Register the scorer with a name and start monitoring
safety_judge = Safety().register(name="my_safety_judge") # name must be unique to experiment
safety_judge = safety_judge.start(sampling_config=ScorerSamplingConfig(sample_rate=0.7))