スコアラーとLLMジャッジ
スコアラーは、MLflow GenAI 評価フレームワークの重要なコンポーネントです。モデル、エージェント、アプリケーションの評価基準を定義するための統一されたインターフェースを提供します。名前が示すように、スコアラーは評価基準に基づいてアプリケーションの性能を採点します。これは合格/不合格、真偽、数値、またはカテゴリ値になります。
開発での評価と本番運用でのモニタリングに同じスコアラーを使用して、アプリケーションのライフサイクル全体で評価の一貫性を保つことができます。
必要なカスタマイズと制御の量に応じて、適切なタイプのスコアラーを選択します。それぞれのアプローチは前のアプローチに基づいて構築され、複雑さと制御性がさらに高まります。
組み込みのジャッジを使って素早く評価を開始します。ニーズの変化に応じて、ドメイン固有の基準に合わせてカスタム LLM ジャッジを構築し、決定論的なビジネス ロジック用のカスタム コード ベースのスコアラーを作成します。
アプローチ | カスタマイズのレベル | ユースケース |
|---|---|---|
最小限 |
| |
適度 | 応答がスタイルや事実のガイドラインなどのカスタム自然言語ルールに適合しているか不適合かをチェックする組み込みの判定。 | |
フル | 詳細な評価基準とフィードバックの最適化を備えた、完全にカスタマイズされた LLM ジャッジを作成します。 数値スコア、カテゴリ、またはブール値を返すことができます。 | |
フル | 完全一致、形式の検証、パフォーマンス メトリックなどを評価する、プログラム的かつ決定論的なスコアラー。 |
次のスクリーンショットは、組み込みの LLM ジャッジSafetyとカスタム スコアラーexact_matchの結果を示しています。

スコアラーの動作原理
スコアラーは、 evaluate()またはモニタリング サービスからトレースを受け取ります。 次に、次の操作を実行します。
traceを解析して、品質評価に使用される特定のフィールドとデータを抽出します。- 抽出されたフィールドとデータに基づいてスコアラーを実行し、品質評価を実行します。
- 品質評価を
Feedbackとして返します。trace


ジャッジとしてのLLM
LLMジャッジは、品質評価に大規模言語モデルを使用する MLflow Scorerの一種です。
ジャッジを品質評価に特化した AI アシスタントと考えてください。アプリの入力、出力を評価し、実行トレース全体を調査して、定義した基準に基づいて評価を行うことができます。たとえば、ジャッジはgive me healthy food optionsとfood to keep me fitが類似したクエリであることを理解できます。
ジャッジは、LLM を使用して評価を行うスコアラーの一種です。これらをmlflow.genai.evaluate()で直接使用するか、カスタム スコアラーでラップして高度なスコアリング ロジックを実現します。
組み込みLLMジャッジ
MLflow は、一般的なユースケースに対して研究で検証された判定を提供します。完全なリストと詳細なドキュメントについては、 MLflow の定義済みスコアラーのドキュメントを参照してください。
ジャッジ | 引数 | グラウンドトゥルースが必要 | 評価対象 |
|---|---|---|---|
| No | 応答はユーザーの要求に直接関連していますか? | |
| No | 取得されたコンテキストはユーザーのリクエストに直接関連していますか? | |
| No | コンテンツには有害、不快、または有毒な内容は含まれていませんか? | |
| No | 応答は文脈内で提供された情報に基づいていますか?エージェントは幻覚を見ているのでしょうか? | |
| はい | 提供された真実と比較して、応答は正しいですか? | |
| はい | エージェントは単一のユーザープロンプトですべての質問に答えますか? | |
| No | 応答は文法的に正しく、自然な流れになっていますか? | |
| はい | 応答は期待される出力と同じですか? | |
| はい | コンテキストは、グラウンドトゥルースの事実を含む応答を生成するために必要なすべての情報を提供していますか? | |
| はい | ツールの呼び出しと引数はユーザー クエリに対して正しいですか? | |
| No | ツール呼び出しは冗長性なく効率的ですか? | |
| No | 応答は指定された自然言語基準を満たしていますか? | |
| いいえ(ただし、期待値にはガイドラインが必要です) | 応答は例ごとの自然言語基準を満たしていますか? |
マルチターンジャッジ
会話型 AI システムの場合、MLflow は、個々のターンではなく会話セッション全体を評価する審査員を提供します。審査員は完全な会話履歴を分析し、複数のやり取りを通じて現れる品質パターンを評価します。
完全なリストと詳細なドキュメントについては、 MLflow の定義済みスコアラーのドキュメントを参照してください。
ジャッジ | 引数 | グラウンドトゥルースが必要 | 評価対象 |
|---|---|---|---|
| No | エージェントは会話全体を通じてユーザーのすべての質問に答えましたか? | |
| No | ユーザーはイライラしてしまいましたか?不満は解消されましたか? | |
| No | エージェントは会話の前半の情報を正確に保持していますか? | |
| No | アシスタントの応答は、会話全体を通じて提供されたガイドラインに準拠していますか? | |
| No | アシスタントは会話中、割り当てられた役割を維持しますか? | |
| No | アシスタントの応答は安全で、有害なコンテンツは含まれていませんか? | |
| No | 会話全体を通してのツールの使用は効率的かつ適切でしたか? |
マルチターン評価の完全なドキュメントについては、 「会話を評価する」を参照してください。
カスタムLLMジャッジ
組み込みのジャッジに加えて、MLflow を使用すると、カスタム プロンプトと指示を使用して独自のジャッジを簡単に作成できます。
特殊な評価タスクを定義する必要がある場合、成績やスコア(合格/不合格だけでなく)をより細かく制御する必要がある場合、またはエージェントが特定のユースケースに対して適切な決定を下し、操作を正しく実行したことを検証する必要がある場合は、カスタム LLM ジャッジを使用します。
カスタムジャッジを参照してください。
カスタムジャッジを作成したら、人間からのフィードバックと調整することで、その精度をさらに向上させることができます。
ジャッジをサポートするLLMを選択する
デフォルトでは、各ジャッジは 生成AIの品質評価を実行するために設計されたDatabricks ホスト LLMを使用します。ジャッジ定義内のmodel引数を使用してジャッジモデルを変更できます。モデルを<provider>:/<model-name>形式で指定します。例えば:
from mlflow.genai.scorers import Correctness
Correctness(model="databricks:/databricks-gpt-5-mini")
LLMジャッジを支援するモデルに関する情報
- LLMジャッジは、Microsoftが運営するAzure OpenAIなどのサードパーティサービスを使用して生成AIアプリケーションを評価する場合があります。
- Azure OpenAIの場合、Databricksは不正行為モニタリングをオプトアウトしているため、プロンプトや応答はAzure OpenAIに保存されません。
- 欧州連合(EU)のワークスペースの場合、LLMジャッジはEUでホストされているモデルを使用します。他のすべてのリージョンでは、米国でホストされているモデルを使用します。
- パートナーを利用したAI機能を無効にすると、 LLMジャッジがパートナーを利用したモデルを呼び出すことができなくなります。 独自のモデルを提供することで、LLM ジャッジを引き続き使用できます。
- LLM ジャッジは、顧客が生成AIエージェント/アプリケーションを評価するのを支援することを目的としており、ジャッジ LLM アウトプットを LLMのトレーニング、改善、または微調整に使用すべきではありません。
正確さを判断する
Databricks は、以下の方法でジャッジの質を継続的に向上させています。
- 人間の専門家の判断に対する 研究の検証
- メトリクス追跡 : コーエンのカッパ、精度、F1 スコア
- 学術データと実世界のデータセットを用いた 多様なテスト
詳細については、 LLM ジャッジの改善に関する Databricks ブログを参照してください。
コードベースのスコアラー
カスタム コード ベースのスコアラーは、生成AI アプリケーションの品質を測定する方法を正確に定義するための究極の柔軟性を提供します。単純なヒューリスティック、高度なロジック、プログラムによる評価など、特定のビジネスユースケースに合わせてカスタマイズされた評価メトリックを定義できます。
次のシナリオではカスタム スコアラーを使用します。
- カスタムヒューリスティックまたはコードベースの評価メトリクスを定義します。
- アプリのトレースのデータが組み込みの LLM ジャッジにマッピングされる方法をカスタマイズします。
- 評価には、Databricks がホストする LLM ジャッジではなく、独自の LLM を使用します。
- カスタム LLM ジャッジによって提供される以上の柔軟性と制御が必要なその他のユースケース。
カスタム コード ベースのスコアラーを作成するを参照してください。