Ta szybka referencja zawiera podsumowanie kluczowych zmian dotyczących migracji z oceny agenta i MLflow 2 do ulepszonych interfejsów API w MLflow 3.
Zapoznaj się z pełnym przewodnikiem w temacie Migrate to MLflow 3 from Agent Evaluation (Migrowanie do platformy MLflow 3 z wersji ewaluacyjnej agenta).
Importowanie aktualizacji
### 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
Funkcja evaluation
| MLflow 2.x |
MLflow 3.x |
mlflow.evaluate() |
mlflow.genai.evaluate() |
model=my_agent |
predict_fn=my_agent |
model_type="databricks-agent" |
(nie jest to wymagane) |
extra_metrics=[...] |
scorers=[...] |
evaluator_config={...} |
(konfiguracja w ocenach) |
Wybór sędziego
| MLflow 2.x |
MLflow 3.x |
| Automatycznie uruchamia wszystkich odpowiednich sędziów na podstawie danych |
Należy jawnie określić, które elementy oceniające mają być używane |
Użyj evaluator_config , aby ograniczyć sędziów |
Przekazywanie żądanych wyników w parametrze scorers |
global_guidelines w konfiguracji |
Korzystanie z Guidelines() scorer |
| Sędziowie wybrani na podstawie dostępnych pól danych |
Kontrolujesz dokładnie, które algorytmy są uruchamiane |
Pola danych
| Pole MLflow 2.x |
Pole MLflow 3.x |
Opis |
request |
inputs |
Dane wejściowe agenta |
response |
outputs |
Dane wyjściowe agenta |
expected_response |
expectations |
Prawda naziemna |
retrieved_context |
Dostęp poprzez ślady |
Kontekst ze śladu |
guidelines |
Część konfiguracji programu scorer |
Przeniesiono do poziomu scorer |
Metryki niestandardowe i osoby oceniające
| MLflow 2.x |
MLflow 3.x |
Notatki |
dekorator @metric |
dekorator @scorer |
Nowa nazwa |
def my_metric(request, response, ...) |
def my_scorer(inputs, outputs, expectations, traces) |
Uproszczone |
| Wiele parametrów expected_* |
Pojedynczy expectations parametr, który jest słownikiem |
Skonsolidowany |
custom_expected |
Część dyktowania expectations |
Uproszczone |
parametr request |
parametr inputs |
Spójne nazewnictwo |
parametr response |
parametr outputs |
Spójne nazewnictwo |
Dostęp do wyników
| MLflow 2.x |
MLflow 3.x |
results.tables['eval_results'] |
mlflow.search_traces(run_id=results.run_id) |
| Bezpośredni dostęp do ramki danych |
Iterowanie śladów i ocen |
Sędziowie LLM
| Przypadek użycia |
MLflow 2.x |
Zalecane środowisko MLflow 3.x |
| Podstawowe sprawdzanie poprawności |
judges.correctness() w @metric |
Correctness() punktujący lub judges.is_correct() sędzia |
| Ocena bezpieczeństwa |
judges.safety() w @metric |
Safety() punktujący lub judges.is_safe() sędzia |
| Wytyczne globalne |
judges.guideline_adherence() |
Guidelines() punktujący lub judges.meets_guidelines() sędzia |
| Wskazówki dla każdego wiersza w zestawie oceny |
judges.guideline_adherence() z expected_* |
ExpectationsGuidelines() punktujący lub judges.meets_guidelines() sędzia |
| Sprawdzanie pod kątem wsparcia faktycznego |
judges.groundedness() |
judges.is_grounded() lub RetrievalGroundedness() strzelec |
| Sprawdzanie istotności kontekstu |
judges.relevance_to_query() |
judges.is_context_relevant() lub RelevanceToQuery() strzelec |
| Sprawdzanie istotności fragmentów kontekstu |
judges.chunk_relevance() |
judges.is_context_relevant() lub RetrievalRelevance() strzelec |
| Sprawdzanie kompletności kontekstu |
judges.context_sufficiency() |
judges.is_context_sufficient() lub RetrievalSufficiency() strzelec |
| Złożona logika niestandardowa |
Bezpośrednie wezwania sędziego w @metric |
Wstępnie zdefiniowane osoby przyznające punkty lub @scorer z decyzjami sędziów |
Opinie użytkowników
| 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() |
Typowe polecenia migracji
# 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"
Dodatkowe zasoby
Aby uzyskać dodatkową pomoc techniczną podczas migracji, zapoznaj się z dokumentacją platformy MLflow lub skontaktuj się z zespołem pomocy technicznej usługi Databricks.