エージェント評価入力スキーマ
プレビュー
この機能はパブリックプレビュー段階です。
この記事では、アプリケーションの品質、コスト、およびレイテンシを評価するためにエージェント評価に必要な入力スキーマについて説明します。
開発中、評価はオフラインで行われ、評価セットはエージェント評価への必須入力です。
アプリケーションが本番運用中の場合、Agent Evaluation へのすべての入力は推論テーブルまたは本番運用ログから取得されます。
入力スキーマは、オンライン評価とオフライン評価の両方で同じです。
評価セットの一般的な情報については、「 評価セット」を参照してください。
評価入力スキーマ
次の表は、エージェント評価の入力スキーマを示しています。
列 |
データ型 |
説明 |
入力引数として渡されるアプリケーション |
提供された以前の生成出力 |
---|---|---|---|---|
request_id |
string |
リクエストの一意の識別子。 |
オプション |
オプション |
request |
要求のスキーマを参照してください。 |
評価するために、ユーザーの質問またはクエリをアプリケーションに入力します。 たとえば、「RAGとは」などです。 |
必須 |
必須 |
expected_retrieved_context |
配列 |
要求に対して取得される予期されるコンテキストを含むオブジェクトの配列 (アプリケーションに取得ステップが含まれている場合)。 配列スキーマ |
オプション |
オプション |
expected_response |
string |
入力要求に対するグラウンドトゥルース (正しい) 回答。 expected_responseガイドラインを参照してください。 |
オプション |
オプション |
response |
string |
評価対象のアプリケーションによって生成された応答。 |
エージェント評価によって生成 |
オプション。指定されていない場合は、トレースから派生します。 |
retrieved_context |
配列 |
評価対象のアプリケーションで取得者によって生成された取得結果。 アプリケーション内に複数の取得ステップがある場合、これは最後のステップ (トレース内の時系列) からの取得結果です。 配列スキーマ |
エージェント評価によって生成 |
オプション。提供されていない場合は、提供されたトレースから派生します。 |
trace |
MLflow 対応する要求に対するアプリケーションの実行のトレース。 |
エージェント評価によって生成 |
オプション。 |
expected_response
ガイドライン
グラウンドトゥルース expected_response
には、正しい対応に必要な最小限の事実 のみ を含める必要があります。 別のソースから応答をコピーする場合は、必ず応答を編集して、回答が正しいと見なされるために 必要 のないテキストを削除してください。
必要な情報のみを含め、回答に厳密に必要でない情報を省略することで、Agent Evaluation は出力品質に関するより堅牢なシグナルを提供できます。
要求のスキーマ
要求スキーマは、次のいずれかになります。
プレーンな文字列。 この形式では、1 ターンの会話のみがサポートされています。
OpenAI チャット完了スキーマに従い、会話全体をエンコードできる
messages
フィールド。最新の要求の
query
文字列フィールドと、会話の前のターンをエンコードするオプションのhistory
フィールド。
マルチターンチャットアプリケーションの場合は、上記の2番目または3番目のオプションを使用します。
次の例は、評価データセットの同じ request
列にある 3 つのオプションすべてを示しています。
import pandas as pd
data = {
"request": [
# Plain string
"What is the difference between reduceByKey and groupByKey in Spark?",
# Using the `messages` field for a single- or multi-turn chat
{
"messages": [
{
"role": "user",
"content": "How can you minimize data shuffling in Spark?"
}
]
},
# Using the query and history fields for a single- or multi-turn chat
{
"query": "Explain broadcast variables in Spark. How do they enhance performance?",
"history": [
{
"role": "user",
"content": "What are broadcast variables?"
},
{
"role": "assistant",
"content": "Broadcast variables allow the programmer to keep a read-only variable cached on each machine."
}
]
}
],
"expected_response": [
"expected response for first question",
"expected response for second question",
"expected response for third question"
]
}
eval_dataset = pd.DataFrame(data)
コンピュート メトリクス
次の表の列は、入力に含まれるデータを示し、 ✓
は、そのデータが提供されるときにメトリクスがサポートされていることを示します。
これらのメトリクスの測定内容の詳細については 、「エージェント評価による品質、コスト、およびレイテンシーの評価方法」を参照してください。
計算されたメトリクス |
|
|
|
---|---|---|---|
|
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
|
✓ |
✓ |
|
|
✓ |
✓ |
|
|
✓ |