メインコンテンツまでスキップ

評価とモニタリングの参考資料

このページには、 MLflow評価とモニタリングの概念に関する参考ドキュメントが提供されます。 ガイドとチュートリアルについては、 「評価とモニタリング」を参照してください。

ヒント

APIリファレンス

MLflow 3 の評価とモニタリングAPIドキュメントについては、 APIリファレンス 」を参照してください。

クイックリファレンス

概念

目的

使用方法

スコアラー

トレースの品質評価

@scorer デコレータまたは Scorer クラス

ジャッジ

LLMベースの評価

使用するためのスコアラーで包まれています

評価用ハーネス

オフライン評価を実行する

mlflow.genai.evaluate()

評価データセット

テストデータの管理

mlflow.genai.datasets

評価の実行

評価結果の格納

ハーネスによって作成される

本番運用のモニタリング

ライブ品質の追跡

Scorer.register, Scorer.start

スコアラー: mlflow.genai.scorers

トレースを評価し、フィードバックを返す関数。

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")

スコアラーの詳細

ジャッジ: mlflow.genai.judges

スコアラーで包まれなければならないLLMベースの品質評価者。

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"])

ジャッジについてもっと知る

評価ハーネス: mlflow.genai.evaluate(...)

開発におけるオフライン評価をオーケストレートします。

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
)

評価ハーネスの詳細

評価データセット: mlflow.genai.datasets.EvaluationDataset

バージョン管理されたテストデータとオプションのグラウンドトゥルース。

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, ...)

評価データセットの詳細

評価の実行: mlflow.entities.Run

フィードバック付きのトレースを含む評価の結果。

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')
)]

評価ランの詳細

本番運用 モニタリング

備考

ベータ版

この機能はベータ版です。

デプロイされたアプリケーションの継続的な評価。

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))

本番運用 モニタリングの詳細