エージェントアプリケーションの品質に関するフィードバックを得る

プレビュー

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

この記事では、Databricks レビュー アプリを使用して、エージェント アプリケーションの品質に関するフィードバックを人間のレビュー担当者から収集する方法を説明します。

Mosaic AIエージェント評価を使用すると、開発者は生成AIアプリケーションの品質、コスト、レイテンシを迅速かつ確実に評価できます。エージェント評価機能は、LLMOPライフサイクルの開発段階、ステージング段階、本番運用で統一されています。

エージェント評価は、開発者が高品質の生成AIアプリケーションをデプロイできるように設計された、Mosaic AIエージェントフレームワークサービスの一部です。高品質なアプリとは、出力は正確で安全であり、管理されていると評価されるアプリです。

人間による評価では何が行われますか?

レビューアプリを使用すると、アプリケーションに関する専門家の利害関係者からフィードバックを収集できます。 これにより、提供される回答の品質と安全性を確保できます。

レビューアプリを使用してフィードバックを収集するには、3つの方法があります。専門家の利害関係者:

  • アプリケーションボットとチャットし、会話に関するフィードバックを提供します。

  • 他のユーザーからの履歴ログに関するフィードバックを提供します。

  • キュレートされたトレースとエージェント出力に関するフィードバックを提供します。

Databricksレビューアプリでは、LLMは、専門家の関係者が対話できる環境(つまり、会話をしたり、質問したりできる環境)で実行されます。

要件

エージェント・アプリケーションの人間による評価にレビュー・アプリを使用するには、以下の設定が必要です。

  • 推論テーブルは、エージェントにサービスを提供しているエンドポイントで有効にする必要があります。 これにより、レビューアプリはエージェントアプリケーションに関するデータを収集して記録できます。

  • 各レビュー担当者のレビューアプリワークスペースへアクセスします。次のセクション「レビューアプリの権限を設定する」を参照してください。

レビューアプリワークスペースへの権限を設定する

レビュー担当者がレビューアプリを含むワークスペースに既にアクセスしている場合は、何もする必要はありません。

レビュアーがまだアクセス権を持っていない場合、アカウント管理者はアカウントレベルのSCIMプロビジョニングを使用して、アイデンティティプロバイダからDatabricksアカウントにユーザーとグループを自動的に同期させることができます。DatabricksでIDを設定する際に、これらのユーザーとグループを手動で登録することもできます。これにより、適格な査読者として含めることができます。「IDプロバイダーからユーザーとグループを同期する」を参照してください。


  from databricks.agents import set_permissions
  from databricks.agents.entities import PermissionLevel

  set_permissions(model_fqn, ["user.name@databricks.com"], PermissionLevel.CAN_QUERY)

レビュー担当者にレビューアプリへのアクセスを許可するのが難しいパブリックプレビューの新規顧客は、DBアカウントチームに連絡してこの機能を有効にしてください。

レビュー担当者に指示を出す

レビュー担当者に表示される指示のカスタムテキストを記述し、次のコード例に示すように送信します。

  from databricks.agents import set_review_instructions, get_review_instructions

  set_review_instructions(uc_model_name, "Thank you for testing the bot. Use your domain expertise to evaluate and give feedback on the bot's responses, ensuring it aligns with the needs and expectations of users like yourself.")
  get_review_instructions(uc_model_name)
Pythonの例を指定したレビューアプリの説明書のスクリーンショット。

レビューアプリのUIの概要

レビューアプリにおける専門家評価の基本的なワークフローは以下です。

  1. 提供されたレビューアプリのURLを開きます。

  2. 事前入力されたチャットを確認します。

    レビューアプリに事前入力されたチャットの数とステータス。
  3. ボットとチャットし、その回答に対する評価を送信します。

    ボットとチャットし、その回答に対する評価を送信します。

利害関係者と評価を実行するためのオプション

専門家がレビューアプリでチャット

このオプションを使用するには、「deploy_model(...)」と入力し、正しい権限を設定します。次の図は、このオプションがどのように機能するかを示しています。

専門家がエージェント アプリケーションとチャットしてフィードバックを提供するレビュー アプリを実行します。
  1. 専門家によるエージェントアプリケーションとのチャット

  2. 回答に関するフィードバック

  3. アプリケーション要求/応答

  4. アプリケーション要求/応答 + トレース + フィードバック

専門家によるログのレビュー

このオプションを使用するには、まず 'deploy_model(...)'です。 ユーザーが REST API またはレビュー アプリのいずれかを操作した後、次のコードを使用してこれらのトレースをレビュー アプリに再度読み込むことができます。


  from databricks.agents import enable_trace_reviews

  enable_trace_reviews(
    model_name=model_fqn,
    request_ids=[
        "52ee973e-0689-4db1-bd05-90d60f94e79f",
        "1b203587-7333-4721-b0d5-bba161e4643a",
        "e68451f4-8e7b-4bfc-998e-4bda66992809",
    ],
  )

リクエストログ表request_id列の値を使用します。

レビュー担当者がレビューアプリまたはREST APIを操作してフィードバックを提供するトレースレビューを実行します。
  1. enable_trace_reviews([request_id])

  2. チャットが読み込まれました

  3. 専門家によるアプリケーションとのチャット

  4. 回答に関するフィードバック

  5. フロントエンドアプリの使用状況またはレビューアプリの使用状況からのリクエスト

  6. アプリケーション要求/応答

  7. アプリケーション要求/応答 + トレース + フィードバック

リクエストログテーブルで評価を実行する

次のノートブックは、 mlflow.evaluate()を使用してレビュー アプリからのログを評価実行の入力として使用する方法を示しています。

リクエストログノートブックの評価を実行する

ノートブックを新しいタブで開く

制約

enable_trace_reviews呼び出しを使用してレビューを開始せずにアプリケーションをデプロイし、そのデプロイに対してCAN_MANAGE権限を持っている場合、サービスはget_permissionsエンドポイントを呼び出すとNO_PERMISSIONS応答を返します。 これは既知の問題であり、システム全体で適切なアクセス許可レベルが維持されています。

enable_trace_reviews機能を使用してレビュー成果物を生成する場合は、すべてのユーザーにレビューの実施または管理に必要な権限が割り当てられていることを確認してください。これを行うには、set_permissions APIを使用します。