Mosaic AI エージェント評価の概要

重要

この機能はパブリック プレビュー段階にあります。

この記事では、Mosaic AI エージェント評価について説明します。 エージェント評価は、開発者が RAG アプリケーションやチェーンを含む、生成 AI アプリケーションの品質、コスト、待機時間を評価するのに役立ちます。 エージェント評価の機能は、MLOps ライフ サイクルの開発、ステージング、運用の各フェーズ全体で統合されており、すべての評価メトリックとデータは MLflow 実行にログされます。

エージェント アプリケーションは複雑であり、さまざまなコンポーネントを含みます。 これらのアプリケーションのパフォーマンスの評価は、従来の ML モデルのパフォーマンスを評価するほど簡単ではありません。 品質の評価に使用される定性的メトリックと定量的メトリックはどちらも、本質的により複雑です。 この記事では、エージェント評価の操作方法の概要と、詳細な記事へのリンクを示します。

エージェント評価には、取得と要求の品質を評価するための独自の LLM ジャッジとエージェント メトリックと、待機時間やトークン コストなどの全体的なパフォーマンス メトリックが含まれます。

エージェント評価の例

次のコードは、以前に生成された出力に対してエージェント評価を呼び出してテストする方法を示しています。 エージェント評価は、その一部である LLM ジャッジによって計算された評価スコアを含むデータフレームを返します。

次のコードをコピーして、既存の Databricks ノートブックに貼り付けることができます。

%pip install mlflow databricks-agents
dbutils.library.restartPython()

import mlflow
import pandas as pd

examples =  {
    "request": [
        "What is Spark?",
        "How do I convert a Spark DataFrame to Pandas?",
    ],
    "response": [
        "Spark is a data analytics framework.",
        "This is not possible as Spark is not a panda.",
    ],
    "retrieved_context": [ # Optional, needed for judging groundedness.
        [{"doc_uri": "doc1.txt", "content": "In 2013, Spark, a data analytics framework, was open sourced by UC Berkeley's AMPLab."}],
        [{"doc_uri": "doc2.txt", "content": "To convert a Spark DataFrame to Pandas, you can use toPandas()"}],
    ],
    "expected_response": [ # Optional, needed for judging correctness.
        "Spark is a data analytics framework.",
        "To convert a Spark DataFrame to Pandas, you can use the toPandas() method.",
    ]
}

result = mlflow.evaluate(
    data=pd.DataFrame(examples),    # Your evaluation set
    # model=logged_model.model_uri, # If you have an MLFlow model. `retrieved_context` and `response` will be obtained from calling the model.
    model_type="databricks-agent",  # Enable Mosaic AI Agent Evaluation
)

# Review the evaluation results in the MLFLow UI (see console output), or access them in place:
display(result.tables['eval_results'])

または、次のノートブックを Databricks ワークスペースにインポートして実行することもできます。

Mosaic AI エージェント評価例のノートブック

ノートブックを入手

評価セットを使用してグラウンド トゥルースを確立する

エージェント アプリケーションの品質を測定するには、高品質で正確な応答がどのようなものであるかを定義する必要があります。 そのためには、評価セットを作成します。これは、代表的な質問と実測値の回答のセットです。 アプリケーションに RAG ワークフローなどの取得手順が含まれている場合、必要に応じて、応答の根拠になると思われる補足ドキュメントを作成します。

スキーマ、メトリックの依存関係、ベスト プラクティスなど、評価セットの詳細については、「評価セット」を参照してください。

適切なメトリックを使用してパフォーマンスを評価する

AI アプリケーションを評価するには、次のようないくつかのメトリック セットが必要です。

  • 応答メトリック。応答が正確であるかどうか、取得されたコンテキスト (存在する場合) と一貫性があるかどうか、入力要求に関連しているかどうかを測定します。
  • 取得メトリック。取得手順によって (存在する場合)、入力要求に関連するチャンクが返されたかどうかを測定します。
  • パフォーマンス メトリック。すべての LLM 生成呼び出しのトークン数と、トレースの待機時間を秒単位で測定します。

メトリックと LLM ジャッジの詳細については、エージェント メトリックと LLM ジャッジを使用してアプリのパフォーマンスを評価する方法に関するページを参照してください。

評価の実行

評価を実行する方法の詳細については、「評価を実行して結果を表示する方法」を参照してください。 エージェント評価では、チェーンからの出力を提供するための 2 つのオプションがサポートされています。

  • アプリケーションを評価実行の一部として実行できます。 アプリケーションは、評価セット内の入力ごとに結果を生成します。
  • アプリケーションの前回の実行からの出力を提供できます。

各オプションを使用するタイミングの詳細と説明については、「評価実行に入力を提供する方法」を参照してください。

GenAI アプリケーションの品質に関する人間のフィードバックを得る

Databricks レビュー アプリを使用すると、人間のレビュー担当者からエージェント アプリケーションの品質に関するフィードバックを簡単に収集できます。 詳細については、「エージェント アプリケーションの品質に関するフィードバックを得る」を参照してください。

制限事項

エージェントの評価は、HIPAA が有効なワークスペースでは使用できません。

LLM ジャッジをサポートするモデルに関する情報

  • LLM ジャッジではサードパーティのサービスを使用して、Microsoft が運営する Azure OpenAI などの、GenAI アプリケーションを評価する場合があります。
  • Azure OpenAI の場合、Databricks は不正使用の監視をオプトアウトしているため、Azure OpenAI ではプロンプトや応答が格納されません。
  • 欧州連合 (EU) ワークスペースの場合、LLM ジャッジは EU でホストされているモデルを使用します。 他のすべてのリージョンでは、米国でホストされているモデルが使用されます。
  • Azure AI サービス AI 支援機能を無効にすると、LLM ジャッジは Azure AI サービス モデルを呼び出せなくなります。
  • LLM ジャッジに送信されるデータは、モデル トレーニングには使用されません。
  • LLM ジャッジは、お客様が RAG アプリケーションを評価するのを支援することを目的としています。LLM ジャッジの出力は、LLM のトレーニング、改善、微調整には使用しないでください。