はじめに
MLflow 3はGenAI向けの機能が大幅に強化され、トレーシング、LLM Judge評価、プロンプト管理、セッション管理など、LLMOpsに必要な機能が一通り揃いました。しかし、これだけ機能が増えると「まず何から触ればいいのか」が分かりにくいのも事実です。
MLflow 3.10(2026年2月リリース)で追加されたmlflow demoコマンドは、この問題をシンプルに解決してくれます。コマンド一発で、デモデータが事前投入されたMLflow環境が立ち上がり、GenAI機能の全体像をコードを書くことなく体験できます。
この記事では、mlflow demoで起動したデモ環境を使って、MLflow 3のGenAI機能をウォークスルーします。
セットアップ
仮想環境の作成とインストール
MLflow 3.xはPython 3.10以上が必要です。ただし、Python 3.14では一部の依存パッケージがまだ対応していないため、3.12または3.13の利用を推奨します。
python --version # 3.10〜3.13であること
mlflow[genai]はLiteLLMなど依存パッケージが多いため、仮想環境の利用を推奨します。
python -m venv .venv
source .venv/bin/activate # Windowsの場合: .venv\Scripts\activate
pip install "mlflow[genai]>=3.10"
uvを使う場合は、Pythonバージョンを明示的に指定できるので便利です。
uv venv --python 3.12
source .venv/bin/activate
uv pip install "mlflow[genai]>=3.10"
企業ネットワーク等でSSL証明書エラーが出る場合は--native-tlsを付けてください。
uv pip install --native-tls "mlflow[genai]>=3.10"
LiteLLMサプライチェーン攻撃に関する注意
mlflow[genai]はtransitive dependencyとしてLiteLLMを含みます。2026年3月24日、LiteLLMのPyPIパッケージがサプライチェーン攻撃を受け、バージョン1.82.7および1.82.8にクレデンシャルスティーラーが仕込まれる事件が発生しました(該当バージョンはPyPIから削除済み)。
インストール後、以下を確認してください。
# インストールされたLiteLLMのバージョン確認
pip show litellm | grep Version
# 悪意あるファイルの有無を確認
find .venv -name "litellm_init.pth" 2>/dev/null
バージョン1.82.7/1.82.8がインストールされている場合、またはlitellm_init.pthが見つかった場合は、環境を破棄し、関連するクレデンシャルをすべてローテーションしてください。詳細はLiteLLM公式のセキュリティアップデートを参照してください。
デモの起動
ターミナルで以下を実行するだけです。
mlflow demo
これだけで以下が自動的に行われます。
-
./mlflow-demo/ディレクトリにSQLiteデータベースとファイルベースのアーティファクトストアが作成される - デモ用のexperimentとサンプルデータ(トレース、評価結果、プロンプトなど)が生成される
- ブラウザが自動で開き、デモexperimentが表示される
データは永続化されるため、再起動しても消えません。データを作り直したい場合は--refreshオプションを使います。
mlflow demo --refresh
既に起動済みのMLflowサーバーにデモデータを投入したい場合は、--tracking-uriを指定します。
mlflow demo --tracking-uri http://localhost:5000
デモデータで巡るMLflow 3 GenAI機能
デモ環境が立ち上がったら、MLflow UIでGenAI機能を順に見ていきましょう。MLflow 3.10ではナビゲーションバーがリデザインされ、GenAIアプリ/エージェント開発向けとクラシックML向けのタブが明確に分離されました。
Tracesタブ
Tracesタブには、LLMアプリケーションの実行トレースが一覧表示されます。各トレースをクリックすると、スパンのツリー構造、各スパンの入出力、レイテンシが確認できます。
MLflow 3.10の新機能として、LLMスパンからモデル情報が自動抽出され、コストが計算・表示されるようになりました。トレースビュー内で各スパンのトークン使用量とコスト(USD)が直接確認できます。
== Total token usage: ==
Input tokens: 84
Output tokens: 22
Total tokens: 106
== Total cost (USD): ==
Input cost: $0.000013
Output cost: $0.000013
Total cost: $0.000026
コスト計算はLiteLLMベースで行われ、主要なLLMプロバイダーのモデルに対応しています。自動計算が効かない場合は、手動でコスト情報を設定することも可能です。
import mlflow
@mlflow.trace
def my_llm_call():
span = mlflow.get_current_active_span()
# LLM呼び出しロジック...
# トークン使用量を手動設定
span.set_attribute(
"mlflow.chat.tokenUsage",
{
"input_tokens": 100,
"output_tokens": 50,
"total_tokens": 150,
},
)
# コストを手動設定(USD)
span.set_attribute(
"mlflow.llm.cost",
{
"input_cost": 0.0001,
"output_cost": 0.0002,
"total_cost": 0.0003,
},
)
return "response"
Sessionsタブ
Sessionsタブでは、マルチターン会話がセッションIDでグルーピングされ、会話単位で品質を確認できます。個々のターンではなく、会話全体の流れを俯瞰するのに便利です。
MLflow 3.10では、セッションレベルの比較UIも追加されており、ゴールやペルソナ別にシミュレーション結果を並べて比較できます。
Evaluationタブ
Evaluationタブには、LLM Judgeによる評価結果が表示されます。デモデータには事前に評価が実行された結果が含まれているので、評価のワークフローを体感できます。
MLflow 3では、開発時と本番で同じscorerを使い回せる設計になっており、評価の一貫性が保たれます。ビルトインscorerとしては以下のようなものが用意されています。
- ConversationCompleteness: ユーザーの質問が会話の終わりまでに完全に回答されたか
- UserFrustration: ユーザーがフラストレーションを感じていないか
- RetrievalGroundedness: 回答が取得されたドキュメントに基づいているか
- Safety: 有害なコンテンツが含まれていないか
Promptsタブ
Promptsタブでは、プロンプトのバージョン管理が確認できます。MLflow 3のPrompt Registryにより、プロンプトテンプレートをバージョニングし、どのトレースがどのバージョンのプロンプトで生成されたかを追跡できます。
MLflow 3.8以降では、プロンプトにモデル設定(Prompt Model Configuration)を紐づけることも可能になり、再現性がさらに向上しています。
Overviewタブ
Overviewタブは、GenAI experimentの全体サマリーを提供するダッシュボードです。以下のようなチャートが自動生成されます。
- レイテンシの推移
- リクエスト数の推移
- コストの集計と内訳(3.10新機能)
- ツールコールのサマリー
手動でダッシュボードを構築する必要がなく、トレースデータから自動でチャートが生成される点が便利です。
UIからノーコードでLLM Judgeを実行する
MLflow 3.10のもう一つの注目機能が、UIからのノーコードLLM Judge実行です。
TracesタブやSessionsタブから、特定のトレースを選択し、ビルトインまたはカスタムのLLM Judgeをコードなしで直接実行できます。Python SDKに切り替えることなく、UI上で素早く品質評価を試せます。
この機能を使うには、事前にAI Gatewayエンドポイントのセットアップが必要です。Judge実行時にエンドポイントを選択する形になります。
またCLIからもJudgeの登録が可能です。
mlflow scorers register-llm-judge \
-n quality_judge \
-i "Evaluate if {{ outputs }} answers {{ inputs }}. Return yes or no." \
-x <experiment_id>
AI Gatewayの使用量トラッキング
mlflow demoの体験と合わせて触れておきたいのが、MLflow 3.10で追加されたAI Gatewayの使用量トラッキング機能です。
AI Gatewayエンドポイントの設定画面で「Enable usage tracking」トグルを有効にすると、新しい「Usage」タブにリクエストパターンやメトリクスが表示されます。ゲートウェイの呼び出しがexperimentのトレースにリンクされ、エンドツーエンドのAI Observabilityが実現できます。
Databricks環境では、AI Gateway(Beta)のsystem.ai_gateway.usageシステムテーブルにリクエスト/レスポンスの詳細が自動キャプチャされ、ビルトインダッシュボードでトークン消費量、レイテンシ、エラーレートなどを可視化できます。
まとめ
mlflow demoコマンドは、MLflow 3のGenAI機能を手軽に体験するための最速の入口です。
- コード不要: デモデータが事前投入されるため、自前のLLMアプリがなくても機能を体験できる
-
永続化:
./mlflow-demo/にデータが保存され、再起動しても消えない - 全機能カバー: トレーシング、評価、プロンプト管理、セッション管理、コスト追跡を一通り確認できる
チームメンバーへのMLflow 3紹介やワークショップの導入ステップとして活用できます。Databricks環境ではManaged MLflowとして同等以上の機能が利用可能で、Unity Catalogとの統合によるガバナンスやProduction Monitoringによる本番トレースの自動評価も加わります。
参考リンク
- MLflow 3.10.0 リリースハイライト
- MLflow CLIリファレンス
- MLflow GenAI トレーシング
- Token Usage and Cost Tracking
- MLflow GenAI 全体像
- Databricks MLflow 3 for GenAI










