モザイク AI エージェント評価 LLM のジャッジ リファレンス
重要
この機能はパブリック プレビュー段階にあります。
この記事では、必要な入力と出力メトリックなど、Mosaic AI Agent Evaluation に組み込まれている各 LLM ジャッジの詳細について説明します。 また、 カスタムジャッジによって生成された出力もカバー。
LLM のジャッジの概要については、「 エージェント評価で品質、コスト、待機時間を評価する方法を参照してください。
対応ジャッジ
応答品質メトリックは、アプリケーションの応答がユーザーの要求に対してどの程度適切かを評価します。 これらのメトリックは、地上の真理と比較した応答の精度、取得したコンテキストを考慮して応答が十分に根拠があるかどうか (または LLM が幻覚的かどうか)、応答が安全で有毒な言語を含まないかどうかなどの要因を評価します。
総合的に、LLM は正確な応答を生成しましたか?
correctness
LLM ジャッジは、エージェントが生成した応答が事実上正確であり、提供されたグラウンド トゥルースの応答と意味的に類似しているかどうかについて、バイナリ評価と論理的根拠の記述を提供します。
correctness
に必要な入力
グラウンド トゥルース expected_response
が必要です。
入力評価セットには、次の列が必要です。
request
expected_response
さらに、mlflow.evaluate()
の呼び出しで model
引数を使用しない場合は、response
または trace
も指定する必要があります。
重要
グラウンド トゥルース expected_response
には、正しい応答として必要な最小限の事実のみを含めるべきです。 別のソースから応答をコピーする場合は、応答を編集して、 必須ではないテキストを削除し 回答が正しいと見なされるようにします。
必要な情報のみを含め、応答に厳密に要求されない情報を除外することで、Agent Evaluation は出力品質をより正確に評価できるようになります。
correctness
の出力
質問ごとに次のメトリックが計算されます。
データ フィールド | 型 | 説明 |
---|---|---|
response/llm_judged/correctness/rating |
string |
yes または no 。 yes は、生成された応答が非常に正確であり、グラウンド トゥルースと意味的に類似していることを示します。 グラウンド トゥルースの意図に関して軽微な省略や不正確さがあったとしても、許容される程度です。 no は、応答が条件を満たしていないことを示します。 |
response/llm_judged/correctness/rationale |
string |
yes または no に関する LLM の推論記述。 |
response/llm_judged/correctness/error_message |
string |
このメトリックの計算中にエラーが発生した場合、エラーの詳細はここに表示されます。 エラーがない場合、ここは NULL になります。 |
評価セット全体について、次のメトリックが計算されます。
メトリックの名前 | 型 | 説明 |
---|---|---|
response/llm_judged/correctness/rating/percentage |
float, [0, 1] |
すべての質問において、正確性が yes と判断される割合。 |
応答は要求に関連していますか?
relevance_to_query
LLM ジャッジは、応答が入力要求に関連しているかどうかを判断します。
relevance_to_query
に必要な入力
グラウンド トゥルースは必要ありません。
入力評価セットには、次の列が必要です。
request
さらに、mlflow.evaluate()
の呼び出しで model
引数を使用しない場合は、response
または trace
も指定する必要があります。
relevance_to_query
の出力
質問ごとに次のメトリックが計算されます。
データ フィールド | 型 | 説明 |
---|---|---|
response/llm_judged/relevance_to_query/rating |
string |
応答が要求に関連していると判断された場合はyes 、それ以外の場合は no 。 |
response/llm_judged/relevance_to_query/rationale |
string |
yes または no に関する LLM の推論記述。 |
response/llm_judged/relevance_to_query/error_message |
string |
このメトリックの計算中にエラーが発生した場合、エラーの詳細はここに表示されます。 エラーがない場合、ここは NULL になります。 |
評価セット全体について、次のメトリックが計算されます。
メトリックの名前 | 型 | 説明 |
---|---|---|
response/llm_judged/relevance_to_query/rating/percentage |
float, [0, 1] |
すべての質問において、relevance_to_query/rating が yes と判断される割合。 |
応答は、ハルシネーションか、それとも取得されたコンテキストに基づいているか?
groundedness
LLM ジャッジは、生成された応答が取得されたコンテキストと事実上一致しているかどうかについて、バイナリ評価と論理的根拠の記述を返します。
groundedness
に必要な入力
グラウンド トゥルースは必要ありません。
入力評価セットには、次の列が必要です。
request
さらに、mlflow.evaluate()
の呼び出しで model
引数を使用しない場合は、trace
または response
と retrieved_context[].content
の両方も指定する必要があります。
groundedness
の出力
質問ごとに次のメトリックが計算されます。
データ フィールド | 型 | 説明 |
---|---|---|
response/llm_judged/groundedness/rating |
string |
取得されたコンテキストが、生成された応答のすべてまたはほとんどすべてをサポートする場合は yes 、それ以外の場合は no 。 |
response/llm_judged/groundedness/rationale |
string |
yes または no に関する LLM の推論記述。 |
response/llm_judged/groundedness/error_message |
string |
このメトリックの計算中にエラーが発生した場合、エラーの詳細はここに表示されます。 エラーがない場合、ここは NULL になります。 |
評価セット全体について、次のメトリックが計算されます。
メトリックの名前 | 型 | 説明 |
---|---|---|
response/llm_judged/groundedness/rating/percentage |
float, [0, 1] |
すべての質問において、groundedness/rating が yes と判断される割合。 |
エージェントの応答に有害なコンテンツが含まれていますか?
safety
LLM ジャッジは、生成された応答に有害または有毒なコンテンツが含まれているかどうかについて、バイナリ評価と論理的根拠の記述を返します。
safety
に必要な入力
グラウンド トゥルースは必要ありません。
入力評価セットには、次の列が必要です。
request
さらに、mlflow.evaluate()
の呼び出しで model
引数を使用しない場合は、response
または trace
も指定する必要があります。
safety
の出力
質問ごとに次のメトリックが計算されます。
データ フィールド | 型 | 説明 |
---|---|---|
response/llm_judged/safety/rating |
string |
応答に有害コンテンツや毒性コンテンツが含まれていない場合は yes 、それ以外の場合は no 。 |
response/llm_judged/safety/rationale |
string |
yes または no に関する LLM の推論記述。 |
response/llm_judged/safety/error_message |
string |
このメトリックの計算中にエラーが発生した場合、エラーの詳細はここに表示されます。 エラーがない場合、ここは NULL になります。 |
評価セット全体について、次のメトリックが計算されます。
メトリックの名前 | 型 | 説明 |
---|---|---|
response/llm_judged/safety/rating/average |
float, [0, 1] |
すべての質問において、yes と判断された割合。 |
検索ジャッジ
取得品質メトリックは、入力要求に関連するドキュメントを検索する場合のレトリバーのパフォーマンスを評価します。 これらのメトリックは、次のような要因を評価します。 既知の関連ドキュメントのうち、いくつが見つかりましたか? 予想される応答を生成するのに十分なドキュメントが見つかりましたか?
検索器は関連するチャンクを見つけましたか?
chunk-relevance-precision
LLM ジャッジは、検索器によって返されるチャンクが入力要求に関連しているかどうかを判断します。 精度は、返された関連チャンクの数を返されたチャンクの合計数で割って計算されます。 たとえば、検索器が 4 つのチャンクを返し、LLM ジャッジが返された 4 つのドキュメントのうち 3 つが要求に関連していると判断した場合、llm_judged/chunk_relevance/precision
は 0.75 になります。
llm_judged/chunk_relevance
に必要な入力
グラウンド トゥルースは必要ありません。
入力評価セットには、次の列が必要です。
request
さらに、mlflow.evaluate()
の呼び出しで model
引数を使用しない場合は、retrieved_context[].content
または trace
も指定する必要があります。
llm_judged/chunk_relevance
の出力
質問ごとに次のメトリックが計算されます。
データ フィールド | 型 | 説明 |
---|---|---|
retrieval/llm_judged/chunk_relevance/ratings |
array[string] |
各チャンクに対して、yes または no で、取得されたチャンクが入力要求に関連しているかどうかを示します。 |
retrieval/llm_judged/chunk_relevance/rationales |
array[string] |
各チャンクに対して、対応する評価に関する LLM の推論 |
retrieval/llm_judged/chunk_relevance/error_messages |
array[string] |
各チャンクで、評価の計算にエラーがあった場合、エラーの詳細がここに出力され、その他の出力値は NULL になります。 エラーがない場合、ここは NULL になります。 |
retrieval/llm_judged/chunk_relevance/precision |
float, [0, 1] |
取得したすべてのチャンクにおける関連するチャンクの割合を計算します。 |
評価セット全体について報告されるメトリックは次のとおりです。
メトリックの名前 | 型 | 説明 |
---|---|---|
retrieval/llm_judged/chunk_relevance/precision/average |
float, [0, 1] |
すべての質問における chunk_relevance/precision の平均値 |
検索器が見つけた既知の関連ドキュメント数はいくつですか?
document_recall
は、返された関連ドキュメントの数を、グラウンド トゥルースに基づく関連ドキュメントの合計数で割って計算されます。 たとえば、グラウンド トゥルースに基づいて 2 つのドキュメントが関連しているとします。 検索器がこれらのドキュメントのいずれかを返す場合、 document_recall
は 0.5 です。 このメトリックは、返されたドキュメントの合計数の影響を受けません。
このメトリックは決定論的であり、LLM ジャッジは使用しません。
document_recall
に必要な入力
グラウンド トゥルースが必要です。
入力評価セットには、次の列が必要です。
expected_retrieved_context[].doc_uri
さらに、mlflow.evaluate()
の呼び出しで model
引数を使用しない場合は、retrieved_context[].doc_uri
または trace
も指定する必要があります。
document_recall
の出力
質問ごとに次のメトリックが計算されます。
データ フィールド | 型 | 説明 |
---|---|---|
retrieval/ground_truth/document_recall |
float, [0, 1] |
取得したチャンクに含まれるグラウンド トゥルース doc_uris の割合。 |
評価セット全体について、次のメトリックが計算されます。
メトリックの名前 | 型 | 説明 |
---|---|---|
retrieval/ground_truth/document_recall/average |
float, [0, 1] |
すべての質問での document_recall の平均値 |
取得コンポーネントは、予想される応答を生成するのに十分なドキュメントを見つけましたか?
context_sufficiency
LLM ジャッジは、取得コンポーネントが予想される応答を生成するのに十分なドキュメントを取得したかどうかを判断します。
context_sufficiency
に必要な入力
グラウンド トゥルース expected_response
が必要です。
入力評価セットには、次の列が必要です。
request
expected_response
さらに、mlflow.evaluate()
の呼び出しで model
引数を使用しない場合は、retrieved_context[].content
または trace
も指定する必要があります。
context_sufficiency
の出力
質問ごとに次のメトリックが計算されます。
データ フィールド | 型 | 説明 |
---|---|---|
retrieval/llm_judged/context_sufficiency/rating |
string |
yes または no 。 yes は、取得されたコンテキストが期待される応答を生成するのに十分であることを示します。 no は、不足している情報を回収するように、この質問に対して取得を調整する必要があることを示します。 出力の根拠には、不足している情報が記載されている必要があります。 |
retrieval/llm_judged/context_sufficiency/rationale |
string |
yes または no に関する LLM の推論記述。 |
retrieval/llm_judged/context_sufficiency/error_message |
string |
このメトリックの計算中にエラーが発生した場合、エラーの詳細はここに表示されます。 エラーがない場合、ここは NULL になります。 |
評価セット全体について、次のメトリックが計算されます。
メトリックの名前 | 型 | 説明 |
---|---|---|
retrieval/llm_judged/context_sufficiency/rating/percentage |
float, [0, 1] |
コンテキストの十分性が yes と判断される割合。 |
カスタム ジャッジ メトリック
ユース ケースに固有の評価を実行するカスタム ジャッジを作成できます。 詳細については、「カスタム LLM ジャッジを作成する」をご覧ください。
カスタム ジャッジが生成する出力は、assessment_type
、ANSWER
、RETRIEVAL
によって異なります。
ANSWER 評価のためのカスタム LLM ジャッジ
ANSWER 評価のカスタム LLM ジャッジは、各質問の応答を評価します。
各評価の出力は次のとおり。
データ フィールド | 型 | 説明 |
---|---|---|
response/llm_judged/{assessment_name}/rating |
string |
yes または no 。 |
response/llm_judged/{assessment_name}/rationale |
string |
yes または no に関する LLM の推論記述。 |
response/llm_judged/{assessment_name}/error_message |
string |
このメトリックの計算中にエラーが発生した場合、エラーの詳細はここに表示されます。 エラーがない場合、ここは NULL になります。 |
評価セット全体について、次のメトリックが計算されます。
メトリックの名前 | 型 | 説明 |
---|---|---|
response/llm_judged/{assessment_name}/rating/percentage |
float, [0, 1] |
すべての質問において、{assessment_name} が yes と判断される割合。 |
取得評価のためのカスタム LLM ジャッジ
取得評価のカスタム LLM ジャッジは、すべての質問で取得された各チャンクを評価します。
各評価の出力は次のとおり。
データ フィールド | 型 | 説明 |
---|---|---|
retrieval/llm_judged/{assessment_name}/ratings |
array[string] |
チャンクごとの、yes または no に関するカスタム ジャッジの評価。 |
retrieval/llm_judged/{assessment_name}/rationales |
array[string] |
チャンクごとの、yes または no に関する LLM の推論記述。 |
retrieval/llm_judged/{assessment_name}/error_messages |
array[string] |
各チャンクごとに、このメトリックの計算にエラーがあった場合、エラーの詳細がここに出力され、その他の値は NULL になります。 エラーがない場合、ここは NULL になります。 |
retrieval/llm_judged/{assessment_name}/precision |
float, [0, 1] |
カスタムジャッジが yes として評価したすべての取得済みチャンクの割合。 |
評価セット全体について報告されるメトリックは次のとおり。
メトリックの名前 | 型 | 説明 |
---|---|---|
retrieval/llm_judged/{assessment_name}/precision/average |
float, [0, 1] |
すべての質問での {assessment_name}_precision の平均値 |