Pular para o conteúdo principal

Migrar para o MLflow 3 a partir da Avaliação de agentes: Referência rápida

Esta referência rápida resume as alterações em key para migrar do Agent Evaluation e MLflow 2 para o APIs aprimorado em MLflow 3. Consulte o guia completo em Migrate to MLflow 3 from Agent Evaluation.

Importar atualizações

Python
### 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, ExpectationGuidelines,
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 marcadores)

Seleção de juízes

MLflow 2.x

MLflow 3.x

Executar automaticamente todos os juízes aplicáveis com base nos dados

Deve especificar explicitamente quais marcadores usar

Use evaluator_config para limitar os juízes

Passe os marcadores desejados no parâmetro scorers

global_guidelines na configuração

Use o marcador Guidelines()

Juízes selecionados com base nos campos de dados disponíveis

O senhor controla exatamente a execução dos marcadores

Campos de dados

Campo do MLflow 2.x

Campo do MLflow 3.x

Descrição

request

inputs

Entrada do agente

response

outputs

Saída do agente

expected_response

expectations

Verdade fundamental

retrieved_context

Acessado por meio de rastreamentos

Contexto a partir do rastreamento

guidelines

Parte da configuração do marcador

Transferido para o nível de marcador

Métricas e scorers personalizados

MLflow 2.x

MLflow 3.x

Notas

@metric decorador

@scorer decorador

Novo nome

def my_metric(request, response, ...)

def my_scorer(inputs, outputs, expectations, traces)

Simplificado

Vários parâmetros esperados_*

Parâmetro expectations único que é um ditado

Consolidado

custom_expected

Parte do ditado expectations

Simplificado

request Parâmetro

inputs Parâmetro

Nomenclatura consistente

response Parâmetro

outputs Parâmetro

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

Itere por meio de rastreamentos e avaliações

Juízes do LLM

Caso de uso

MLflow 2.x

MLflow 3.x Recomendado

Verificação básica de exatidão

judges.correctness() em @metric

Correctness() goleador ou juiz do judges.is_correct()

Avaliação de segurança

judges.safety() em @metric

Safety() goleador ou juiz do judges.is_safe()

Diretrizes globais

judges.guideline_adherence()

Guidelines() goleador ou juiz do judges.meets_guidelines()

Diretrizes por eval-set-row

judges.guideline_adherence() com esperado_*

ExpectationGuidelines() goleador ou juiz do judges.meets_guidelines()

Verifique se há suporte factual

judges.groundedness()

judges.is_grounded() ou artilheiro RetrievalGroundedness()

Verifique a relevância do contexto

judges.relevance_to_query()

judges.is_context_relevant() ou artilheiro RelevanceToQuery()

Verifique a relevância dos trechos de contexto

judges.chunk_relevance()

judges.is_context_relevant() ou artilheiro RetrievalRelevance()

Verifique a integridade do contexto

judges.context_sufficiency()

judges.is_context_sufficient() ou artilheiro RetrievalSufficiency()

Lógica personalizada complexa

O juiz liga diretamente @metric

Marcadores predefinidos 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()

Comando de migração comum

Bash
# 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"

Recurso adicional

Para obter suporte adicional durante a migração, consulte a documentação do MLflow ou entre em contato com a equipe de suporte da Databricks.