Mosaic AIエージェント評価LLMジャッジリファレンス

プレビュー

この機能はパブリックプレビュー段階です。

この記事では、LLM Mosaic AIAgent Evaluation に組み込まれている各 ジャッジの詳細 (必要な入力や出力メトリクスなど) について説明します。また、 カスタム審査員によって作成された出力もカバーしています。

LLM ジャッジの概要については 、「エージェント評価による品質、コスト、および遅延の評価方法」を参照してください。

次の表に、組み込みのジャッジを示します。

審査員の氏名

ステップ

審査員が評価する品質面

relevance_to_query

レスポンス

応答はユーザーの要求に対応していますか (関連性がありますか)。

groundedness

レスポンス

生成された応答は、取得したコンテキストに基づいていますか(幻覚ではありません)?

safety

レスポンス

回答に有害または有毒なコンテンツが含まれていますか?

correctness

レスポンス

生成された応答は (グラウンド トゥルースと比較して) 正確ですか?

chunk_relevance

検索

レトリーバーは、ユーザーのリクエストに応答するのに役立つ(関連性のある)チャンクを見つけましたか?

document_recall

検索

レトリーバーは既知の関連文書をいくつ見つけましたか?

context_sufficiency

検索

レトリーバーは、期待される応答を生成するのに十分な情報を含むドキュメントを見つけましたか?

レスポンスのジャッジ

応答品質メトリクスは、アプリケーションがユーザーのリクエストにどの程度適切に応答しているかを評価します。 これらのメトリクスは、グラウンドトゥルースと比較したレスポンスの精度、取得したコンテキストを考慮してレスポンスが十分に根拠があるか(または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 または noyes は、生成された応答が非常に正確で、意味的にグラウンド トゥルースと類似していることを示します。 グラウンドトゥルースの意図を捉えているような軽微な省略や不正確さは許容されます。 no は、応答が基準を満たしていないことを示します。

response/llm_judged/correctness/rationale

string

LLMの書面による推論は、 yes または no

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

LLMの書面による推論は、 yes または no

response/llm_judged/relevance_to_query/error_message

string

このメトリクスの計算でエラーが発生した場合は、エラーの詳細がこちらに表示されます。 エラーがない場合、これは NULL です。

評価セット全体に対して、次のメトリクスが計算されます。

メトリクス名

タイプ

説明

response/llm_judged/relevance_to_query/rating/percentage

float, [0, 1]

すべての質問で、 relevance_to_query/ratingyesと判断された割合。

応答は幻覚ですか、それとも取得したコンテキストに基づいていますか?

groundedness LLM ジャッジは、生成された応答が取得されたコンテキストと事実上一致しているかどうかについて、バイナリ評価と書面による理論的根拠を返します。

groundednessに必要な入力

グラウンドトゥルースは必要ありません。

入力評価セットには、次の列が必要です。

  • request

また、 mlflow.evaluate()の呼び出しで model 引数を使用しない場合は、 responseretrieved_context[].contentのいずれかまたは両方を trace または両方指定する必要があります。

groundednessの出力

各質問に対して、次のメトリクスが計算されます。

データフィールド

タイプ

説明

response/llm_judged/groundedness/rating

string

yes 取得されたコンテキストが生成されたレスポンスのすべてまたはほとんどすべてをサポートしている場合、 no サポートされていない場合。

response/llm_judged/groundedness/rationale

string

LLMの書面による推論は、 yes または no

response/llm_judged/groundedness/error_message

string

このメトリクスの計算でエラーが発生した場合は、エラーの詳細がこちらに表示されます。 エラーがない場合、これは NULL です。

評価セット全体に対して、次のメトリクスが計算されます。

メトリクス名

タイプ

説明

response/llm_judged/groundedness/rating/percentage

float, [0, 1]

すべての質問で、groundedness/ratingyesと判定される割合はどれくらいか。

エージェントの回答に有害な内容はありますか?

safety LLMの裁判官は、生成された回答に有害または有害なコンテンツが含まれているかどうかについて、バイナリ評価と書面による根拠を返します。

safetyに必要な入力

グラウンドトゥルースは必要ありません。

入力評価セットには、次の列が必要です。

  • request

また、 mlflow.evaluate()の呼び出しで model 引数を使用しない場合は、 response または traceも指定する必要があります。

safetyの出力

各質問に対して、次のメトリクスが計算されます。

データフィールド

タイプ

説明

response/llm_judged/safety/rating

string

yes 応答に有害または有毒なコンテンツが含まれていない場合はnoです。

response/llm_judged/safety/rationale

string

LLMの書面による推論は、 yes または no

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 または noyes は、取得されたコンテキストが期待される応答を生成するのに十分であることを示します。 no は、不足している情報を取り戻すために、この質問に対して検索を調整する必要があることを示しています。 出力の根拠には、欠落している情報について言及する必要があります。

retrieval/llm_judged/context_sufficiency/rationale

string

LLMの書面による推論は、 yes または no

retrieval/llm_judged/context_sufficiency/error_message

string

このメトリクスの計算でエラーが発生した場合は、エラーの詳細がこちらに表示されます。 エラーがない場合、これは NULL です。

評価セット全体に対して、次のメトリクスが計算されます。

メトリクス名

タイプ

説明

retrieval/llm_judged/context_sufficiency/rating/percentage

float, [0, 1]

コンテキストの十分性が yesと判断される割合。

カスタムジャッジメトリクス

カスタムジャッジを作成して、ユースケースに固有の評価を実行できます。 詳細については、「 カスタム LLM ジャッジの作成」を参照してください

カスタムジャッジによって生成される出力は、その assessment_typeANSWER 、または RETRIEVALによって異なります。

ANSWER評価のためのカスタムLLMジャッジ

ANSWER評価用のカスタムLLMジャッジは、各質問の回答を評価します。

各評価で提供される出力:

データフィールド

タイプ

説明

response/llm_judged/{assessment_name}/rating

string

yes または no

response/llm_judged/{assessment_name}/rationale

string

LLMの書面による推論は、 yes または no

response/llm_judged/{assessment_name}/error_message

string

このメトリクスの計算でエラーが発生した場合は、エラーの詳細がこちらに表示されます。 エラーがない場合、これは NULL です。

評価セット全体に対して、次のメトリクスが計算されます。

メトリクス名

タイプ

説明

response/llm_judged/{assessment_name}/rating/percentage

float, [0, 1]

すべての質問で、{assessment_name}が yesと判断された割合。

RETRIEVAL評価のためのカスタムLLMジャッジ

RETRIEVAL評価用のカスタムLLMジャッジは、すべての質問で取得された各チャンクを評価します。

各評価で提供される出力:

データフィールド

タイプ

説明

retrieval/llm_judged/{assessment_name}/ratings

array[string]

各チャンク、yes 、または noのカスタムジャッジの評価。

retrieval/llm_judged/{assessment_name}/rationales

array[string]

各チャンクについて、LLM は yes または noの理由を書いています。

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 です。