Esta referência rápida resume as principais alterações na migração da Avaliação do Agente e do MLflow 2 para as APIs aprimoradas no MLflow 3.
Veja o guia completo em Migrar do Avaliação do Agente para o MLflow 3.
Importar atualizações
### Old imports ###
from mlflow import evaluate
from databricks.agents.evals import metric
from databricks.agents.evals import judges
from databricks.agents import review_app
### New imports ###
from mlflow.genai import evaluate
from mlflow.genai.scorers import scorer
from mlflow.genai import judges
# For predefined scorers:
from mlflow.genai.scorers import (
Correctness, Guidelines, ExpectationsGuidelines,
RelevanceToQuery, Safety, RetrievalGroundedness,
RetrievalRelevance, RetrievalSufficiency
)
import mlflow.genai.labeling as labeling
import mlflow.genai.label_schemas as schemas
Função de avaliação
| MLflow 2.x |
MLflow 3.x |
mlflow.evaluate() |
mlflow.genai.evaluate() |
model=my_agent |
predict_fn=my_agent |
model_type="databricks-agent" |
(não necessário) |
extra_metrics=[...] |
scorers=[...] |
evaluator_config={...} |
(configuração em scorers) |
Seleção do juiz
| MLflow 2.x |
MLflow 3.x |
| Executa automaticamente todos os juízes aplicáveis com base nos dados |
Deve especificar explicitamente quais pontuadores usar |
Uso evaluator_config para limitar juízes |
Passe os pontuadores desejados para o parâmetro scorers |
global_guidelines nas definições |
Usar Guidelines() pontuador |
| Juízes selecionados com base nos campos de dados disponíveis |
Você controla exatamente quais marcadores correm |
Campos de dados
| Campo MLflow 2.x |
Campo MLflow 3.x |
Descrição |
request |
inputs |
Entrada do agente |
response |
outputs |
Saída do agente |
expected_response |
expectations |
Verdade fundamental |
retrieved_context |
Acedido através de rastreios |
Contexto a partir do rastreio |
guidelines |
Parte da configuração do marcador |
Movido para o nível de pontuador |
Métricas e pontuadores personalizados
| MLflow 2.x |
MLflow 3.x |
Observações |
@metric decorador |
@scorer decorador |
Novo nome |
def my_metric(request, response, ...) |
def my_scorer(inputs, outputs, expectations, traces) |
Simplificado |
| Vários parâmetros com o prefixo expected_* |
Único expectations parâmetro que é um ditado |
Consolidado |
custom_expected |
Parte do expectations ditado |
Simplificado |
parâmetro request |
parâmetro inputs |
Nomenclatura consistente |
parâmetro response |
parâmetro outputs |
Nomenclatura consistente |
Acesso aos resultados
| MLflow 2.x |
MLflow 3.x |
results.tables['eval_results'] |
mlflow.search_traces(run_id=results.run_id) |
| Acesso direto ao DataFrame |
Iterar através de rastros e análises |
Juízes de LLM
| Caso de uso |
MLflow 2.x |
MLflow 3.x Recomendado |
| Verificação de correção básica |
judges.correctness() no @metric |
Correctness() pontuador ou judges.is_correct() juiz |
| Avaliação da segurança |
judges.safety() no @metric |
Safety() pontuador ou judges.is_safe() juiz |
| Diretrizes globais |
judges.guideline_adherence() |
Guidelines() pontuador ou judges.meets_guidelines() juiz |
| Diretrizes para eval-set-row |
judges.guideline_adherence() com esperado_* |
ExpectationsGuidelines() pontuador ou judges.meets_guidelines() juiz |
| Verifique a existência de suporte factual |
judges.groundedness() |
judges.is_grounded() ou RetrievalGroundedness() marcador |
| Verificar a relevância do contexto |
judges.relevance_to_query() |
judges.is_context_relevant() ou RelevanceToQuery() marcador |
| Verificar a relevância dos blocos de contexto |
judges.chunk_relevance() |
judges.is_context_relevant() ou RetrievalRelevance() marcador |
| Verificar a exaustividade do contexto |
judges.context_sufficiency() |
judges.is_context_sufficient() ou RetrievalSufficiency() marcador |
| Lógica personalizada complexa |
Juiz direto chama @metric |
Marcadores pré-definidos ou @scorer, com chamadas de juízes |
Feedback humano
| MLflow 2.x |
MLflow 3.x |
databricks.agents.review_app |
mlflow.genai.labeling |
databricks.agents.datasets |
mlflow.genai.datasets |
review_app.label_schemas.* |
mlflow.genai.label_schemas.* |
app.create_labeling_session() |
labeling.create_labeling_session() |
Comandos comuns de migração
# Find old evaluate calls
grep -r "mlflow.evaluate" . --include="*.py"
# Find old metric decorators
grep -r "@metric" . --include="*.py"
# Find old data fields
grep -r '"request":\|"response":\|"expected_response":' . --include="*.py"
# Find old imports
grep -r "databricks.agents" . --include="*.py"
Recursos adicionais
Para obter suporte adicional durante a migração, consulte a documentação do MLflow ou entre em contato com sua equipe de suporte do Databricks.