エージェント評価入力スキーマ

プレビュー

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

この記事では、アプリケーションの品質、コスト、およびレイテンシを評価するためにエージェント評価に必要な入力スキーマについて説明します。

  • 開発中、評価はオフラインで行われ、評価セットはエージェント評価への必須入力です。

  • アプリケーションが本番運用中の場合、Agent Evaluation へのすべての入力は推論テーブルまたは本番運用ログから取得されます。

入力スキーマは、オンライン評価とオフライン評価の両方で同じです。

評価セットの一般的な情報については、「 評価セット」を参照してください。

評価入力スキーマ

次の表は、エージェント評価の入力スキーマを示しています。

データ型

説明

入力引数として渡されるアプリケーション

提供された以前の生成出力

request_id

string

リクエストの一意の識別子。

オプション

オプション

request

要求のスキーマを参照してください。

評価するために、ユーザーの質問またはクエリをアプリケーションに入力します。 たとえば、「RAGとは」などです。

必須

必須

expected_retrieved_context

配列

要求に対して取得される予期されるコンテキストを含むオブジェクトの配列 (アプリケーションに取得ステップが含まれている場合)。 配列スキーマ

オプション

オプション

expected_response

string

入力要求に対するグラウンドトゥルース (正しい) 回答。 expected_responseガイドラインを参照してください。

オプション

オプション

response

string

評価対象のアプリケーションによって生成された応答。

エージェント評価によって生成

オプション。指定されていない場合は、トレースから派生します。responseまたはtraceのいずれかが必要です。

retrieved_context

配列

評価対象のアプリケーションで取得者によって生成された取得結果。 アプリケーション内に複数の取得ステップがある場合、これは最後のステップ (トレース内の時系列) からの取得結果です。 配列スキーマ

エージェント評価によって生成

オプション。提供されていない場合は、提供されたトレースから派生します。

trace

MLフロートレースのJSON文字列

MLflow 対応する要求に対するアプリケーションの実行のトレース。

エージェント評価によって生成

オプション。responseまたはtraceのいずれかが必要です。

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)

評価入力の配列のスキーマ

配列expected_retrieved_contextretrieved_contextのスキーマは以下の表の通りです:

データ型

説明

入力引数として渡されるアプリケーション

提供された以前の生成出力

コンテンツ

string

取得したコンテキストの内容。HTML、プレーンテキスト、Markdownなどの任意の形式の文字列。

オプション

オプション

doc_uri

string

チャンクの元となった親ドキュメントの一意の識別子(URI)。

必須

必須

コンピュート メトリクス

次の表の列は、入力に含まれるデータを示し、 は、そのデータが提供されるときにメトリクスがサポートされていることを示します。

これらのメトリクスの測定内容の詳細については 、「エージェント評価による品質、コスト、およびレイテンシーの評価方法」を参照してください。

計算されたメトリクス

request

request そして expected_response

requestexpected_response 、および expected_retrieved_context

response/llm_judged/relevance_to_query/rating

response/llm_judged/safety/rating

response/llm_judged/groundedness/rating

retrieval/llm_judged/chunk_relevance_precision

agent/total_token_count

agent/input_token_count

agent/output_token_count

response/llm_judged/correctness/rating

retrieval/llm_judged/context_sufficiency/rating

retrieval/ground_truth/document_recall