エージェントのメトリクスとLLM審査員を使用してアプリのパフォーマンスを評価する
プレビュー
この機能はパブリックプレビュー段階です。
この記事では、エージェントメトリクスと大規模言語モデル ( LLM ) ジャッジ評価コンピュートによる Agent Evaluation の実行について説明します。 評価結果を使用してエージェントアプリケーションの品質を判断する方法を学びます。
Databricksは、人間の評価者との一致を測定することで、ジャッジの質を向上させることに尽力しています。Databricksは、学術的および独自のデータセットからの多様で挑戦的な例を使用して、最先端のLLMジャッジアプローチに対してジャッジをベンチマークおよび改善し、継続的な改善と高い精度を保証します。
評価実行の出力
各評価実行では、次のタイプの出力が生成されます。
リクエストと応答情報
request_id
request
response
expected_retrieved_context
expected_response
retrieved_context
trace
エージェントメトリクスとLLMジャッジ
エージェントのメトリクスとLLMジャッジは、アプリケーションの品質を判断するのに役立ちます。
エージェントのメトリクスとジャッジ
これらのメトリックのパフォーマンスを測定するには、2 つのアプローチがあります。
LLM 審査員を使用する:別の LLM が審査員として機能し、アプリケーションの取得と応答の品質を評価します。 このアプローチにより、さまざまな側面で評価が自動化されます。
決定論的関数を使用する:アプリケーションのトレースと、オプションで評価セットに記録された真実から決定論的メトリックを導出して、パフォーマンスを評価します。 例としては、コストとレイテンシに関するメトリクスや、グラウンドトゥルース文書に基づく検索リコールの評価などが挙げられます。
次の表に、組み込みメトリクスとそれによって回答できる質問を示します。
メトリクス名 |
質問 |
メトリクスタイプ |
---|---|---|
|
LLM審査 |
|
|
決定論的 (グラウンド トゥルースが必要) |
|
|
LLM 審査済み (グラウンドトゥルースが必要) |
|
|
LLM審査 |
|
|
LLM審査 |
|
|
LLM審査 |
|
|
確定的 |
|
|
確定的 |
また、カスタムLLMジャッジを定義して、ユースケースに固有の基準を評価することもできます。
LLMジャッジの信頼性と安全性に関する情報については、「LLMジャッジを強化するモデルに関する情報」を参照してください。
検索メトリクス
検索メトリクスは、エージェント アプリケーションが関連するサポート データをどれだけ正常に取得できるかを評価します。 精度と再現率は 2 つの重要な検索メトリクスです。
recall = # of relevant retrieved items / total # of relevant items
precision = # of relevant retrieved items / # of items retrieved
リトリーバーは関連するチャンクを見つけたか
リトリーバーが入力要求に関連するチャンクを返すかどうかを判断します。 LLMジャッジを使用して、グラウンドトゥルースなしでチャンクの関連性を判断し、派生した精度メトリックを使用して、返されたチャンクの全体的な関連性を定量化できます。
![チャンク関連性精度の例](../../_images/chunk-relevance-precision.png)
LLMジャッジ:
chunk-relevance-precision
ジャッジグラウンドトゥルースが必要:
None
入力評価セットのスキーマ:
request
retrieved_context[].content
またはtrace
(model
引数がmlflow.evaluate()
で使用されていない場合のみ)
yes
:取得されたチャンクは、入力リクエストに関連しています。
no
:取得されたチャンクは、入力リクエストとは無関係です。
各質問の出力:
データフィールド |
タイプ |
説明 |
---|---|---|
|
|
各チャンクについて、関連性があると判断された場合は |
|
|
チャンクごとに、対応する評価に対するLLMの理由 |
|
|
各チャンクについて、評価の計算でエラーが発生した場合、エラーの詳細がここに表示され、他の出力値はNULLになります。エラーがない場合、これはNULLです。 |
|
|
取得されたすべてのチャンクのうち関連するチャンクの割合を計算します。 |
評価セット全体について報告されるメトリクス:
メトリクス名 |
タイプ |
説明 |
---|---|---|
|
|
すべての質問における |
レトリーバーは既知の関連文書をいくつ見つけましたか?
リトリーバーによって正常に取得されたグラウンドトゥルース関連ドキュメントのリコール率を計算します。
![文書のリコール例](../../_images/ground-truth-document-recall.png)
LLMジャッジ:なし、グラウンドトゥルースベース
グラウンドトゥルースが必要:
Yes
入力評価セットのスキーマ:
expected_retrieved_context[].doc_uri
retrieved_context[].doc_uri
またはtrace
(model
引数がmlflow.evaluate()
で使用されていない場合のみ)
各質問の出力:
データフィールド |
タイプ |
説明 |
---|---|---|
|
|
取得されたチャンク内に存在するグラウンドトゥルース |
評価セット全体について報告されるメトリクス:
メトリクス名 |
タイプ |
説明 |
---|---|---|
|
|
すべての質問で、 |
レスポンスメトリクス
応答品質メトリックは、アプリケーションがユーザーの要求にどれだけ適切に応答するかを評価します。 応答メトリクスは、たとえば、結果として得られた回答が真実に基づいて正確であるかどうか、検索されたコンテキストを与えられた応答がどの程度根拠のあるものであったか (例: LLMが幻覚を起こしたか)、または応答がどの程度安全であったか (例: 毒性がない) を測定できます。
全体として、LLMは正確な答えを出しましたか?
エージェントが生成した応答が事実上正確で、提供されたグラウンドトゥルース応答と意味的に類似しているかどうかについて、二項評価と理論的根拠を書面で入手してください。
LLMジャッジ:
correctness
ジャッジグラウンドトゥルースが必要:はい、
expected_response
入力評価セットのスキーマ:
request
expected_response
response
またはtrace
(model
引数がmlflow.evaluate()
で使用されていない場合のみ)
yes
:生成された応答は非常に正確で、意味的には真実に類似しています。グラウンドトゥルースの意図を捉えている軽微な省略や不正確さは許容されます。
no
:応答が基準を満たしていません。不正確であるか、部分的に正確であるか、意味的に異なっているかのいずれかです。
各質問に提供される出力:
データフィールド |
タイプ |
説明 |
---|---|---|
|
|
|
|
|
LLMの「はい/いいえ」の理由。 |
|
|
このメトリクスの計算にエラーがあった場合、エラーの詳細がここに表示されます。エラーがない場合、これはNULLです。 |
評価セット全体について報告されるメトリクス:
メトリクス名 |
タイプ |
説明 |
---|---|---|
|
|
すべての質問で、正しさが次のように判断される割合は |
レスポンスはリクエストに関連していますか?
応答が入力リクエストに関連しているかどうかを判断します。
LLMジャッジ:
relevance_to_query
ジャッジグラウンドトゥルースが必要:
None
入力評価セットのスキーマ:
request
response
またはtrace
(model
引数がmlflow.evaluate()
で使用されていない場合のみ)
yes
:応答は元の入力リクエストに関連します。
no
:応答は元の入力リクエストとは無関係です。
各質問の出力:
データフィールド |
タイプ |
説明 |
---|---|---|
|
|
|
|
|
LLMの |
|
|
このメトリクスの計算にエラーがあった場合、エラーの詳細がここに表示されます。エラーがない場合、これはNULLです。 |
評価セット全体について報告されるメトリクス:
メトリクス名 |
タイプ |
説明 |
---|---|---|
|
|
すべての質問の中で、 |
その反応は幻覚なのか、それとも取り出された文脈に基づいているのか。
生成された応答が取得したコンテキストと事実上一致しているかどうかについて、二項評価と理論的根拠を書面で入手してください。
LLMジャッジ:
groundedness
ジャッジグラウンドトゥルースが必要:なし
入力評価セットのスキーマ:
request
retrieved_context[].content
またはtrace
(model
引数がmlflow.evaluate()
で使用されていない場合のみ)response
またはtrace
(model
引数がmlflow.evaluate()
で使用されていない場合のみ)
yes
:取得されたコンテキストは、生成された応答のすべてまたはほぼすべてをサポートします。
no
:取得されたコンテキストは、生成された応答をサポートしていません。
各質問に提供される出力:
データフィールド |
タイプ |
説明 |
---|---|---|
|
|
|
|
|
LLMの |
|
|
このメトリクスの計算にエラーがあった場合、エラーの詳細がここに表示されます。エラーがない場合、これはNULLです。 |
評価セット全体について報告されるメトリクス:
メトリクス名 |
タイプ |
説明 |
---|---|---|
|
|
すべての質問で、 |
エージェントの回答に有害な内容はありますか?
二者択一の評価と、生成された応答に有害または有毒な内容が含まれているかどうかの根拠を書面で調べてください。
LLMジャッジ:
safety
ジャッジグラウンドトゥルースが必要:なし
入力評価セットのスキーマ:
request
response
またはtrace
(model
引数がmlflow.evaluate()
で使用されていない場合のみ)
yes
:生成された応答には有害または有毒なコンテンツは含まれていません。
no
:生成された応答には有害または有毒なコンテンツが含まれています。
各質問に提供される出力:
データフィールド |
タイプ |
説明 |
---|---|---|
|
|
|
|
|
LLMの |
|
|
このメトリクスの計算にエラーがあった場合、エラーの詳細がここに表示されます。エラーがない場合、これはNULLです。 |
評価セット全体について報告されるメトリクス:
メトリクス名 |
タイプ |
説明 |
---|---|---|
|
|
全問題のうち、 |
カスタム検索LLMジャッジ
カスタム検索ジャッジを使用して、検索された各チャンクに対してカスタム評価を実行します。すべての質問の各チャンクに対して、LLMジャッジが呼び出されます。カスタムジャッジの設定の詳細については、「高度なエージェント評価」を参照してください。
各評価で提供される出力:
データフィールド |
タイプ |
説明 |
---|---|---|
|
|
各チャンクについて、カスタムジャッジの出力ごとに |
|
|
各チャンクについて、LLMの |
|
|
各チャンクについて、このメトリクスの計算でエラーが発生した場合、エラーの詳細はここに表示され、他の値はNULLです。エラーがない場合、これはNULLです。 |
|
|
取得されたすべてのチャンクのうち、カスタムジャッジによって |
評価セット全体について報告されるメトリクス:
メトリクス名 |
タイプ |
説明 |
---|---|---|
|
|
全問題の平均値 |
パフォーマンス指標
パフォーマンス メトリックは、エージェント アプリケーションの全体的なコストとパフォーマンスを取得します。 全体的なレイテンシとトークン消費は、パフォーマンス メトリックの例です。
エージェントアプリケーションを実行するためのトークンコストはいくらですか?
トレース内のすべてのLLM生成呼び出しの合計トークン数を計算します。これは、トークンが多いほど総コストが高くなることを意味します。
各質問の出力:
データフィールド |
タイプ |
説明 |
---|---|---|
|
|
エージェントのトレースのすべてのLLMスパンにわたるすべての入力トークンと出力トークンの合計 |
|
|
エージェントのトレースのすべてのLLMスパンにわたるすべての入力トークンの合計 |
|
|
エージェントのトレースのすべてのLLMスパンにわたるすべての出力トークンの合計 |
評価セット全体について報告されるメトリクス:
名前 |
説明 |
---|---|
|
すべての質問の平均値 |
|
すべての質問の平均値 |
|
すべての質問の平均値 |
LLMジャッジを支援するモデルに関する情報
LLMジャッジは、Microsoftが運営するAzure OpenAIなどのサードパーティサービスを使用して生成AIアプリケーションを評価する場合があります。
Azure OpenAIの場合、Databricksは不正行為モニタリングをオプトアウトしているため、プロンプトや応答はAzure OpenAIに保存されません。
欧州連合(EU)のワークスペースの場合、LLMジャッジはEUでホストされているモデルを使用します。他のすべてのリージョンでは、米国でホストされているモデルを使用します。
パートナー駆動のAI 補助機能を無効にすると、LLM 審査員がパートナー駆動のモデルを呼び出せなくなります。
LLMジャッジに送信されたデータは、モデルのトレーニングには使用されません。
LLMジャッジは、顧客のRAGアプリケーションの評価を支援することを目的としており、LLMジャッジの出力は、LLMのトレーニング、改善、微調整のために使用されるべきではありません。