次の方法で共有


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

重要

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

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

  • レビュー アプリをデプロイする方法。
  • レビュー担当者がアプリを使用して、エージェント アプリケーションの応答に関するフィードバックを提供する方法。
  • エキスパートがログに記録されたチャットを確認して、アプリを使用して改善やその他のフィードバックに関する提案を提供する方法。

人間による評価で行われる内容

Databricks レビュー アプリは、専門家の利害関係者が対話できる環境で LLM をステージします。つまり、会話をしたり、質問をしたり、フィードバックを提供したりします。 レビュー アプリでは、LLM のパフォーマンスをさらに分析できるように、すべての質問、回答、フィードバックが推論テーブルに記録されます。 このように、レビュー アプリは、アプリケーションが提供する回答の品質と安全性を確保するのに役立ちます。

利害関係者は、アプリケーション ボットとチャットし、それらの会話に関するフィードバックを提供したり、履歴ログ、キュレーションされたトレース、またはエージェントの出力に関するフィードバックを提供したりできます。

要件

  • 推論テーブル が、エージェントにサービスを提供しているエンドポイントで有効になっている必要があります。

  • 各人間のレビュー担当者は、レビュー アプリ ワークスペースにアクセスできる必要があります。または、SCIM を使用して Databricks アカウントに同期する必要があります。 次のセクション「 レビュー アプリを使用するためのアクセス許可を設定するを参照してください。

  • 開発者は、databricks-agents SDK をインストールしてアクセス許可を設定し、レビュー アプリを構成する必要があります。

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

レビュー アプリを使用するためのアクセス許可を設定する

Note

人間のレビュー担当者は レビュー アプリを使用するためにワークスペースにアクセスする必要はありません

レビュー アプリを含むワークスペースにアクセスできない場合でも、Databricks アカウント内の任意のユーザーにレビュー アプリへのアクセス権を付与できます。

  • ワークスペースにアクセスできないユーザーの場合、アカウント管理者はアカウント レベルの SCIM プロビジョニングを使用して、ID プロバイダーから Azure Databricks アカウントにユーザーとグループを自動的に同期します。 Databricks で ID を設定するときに、これらのユーザーとグループを手動で登録してアクセス権を付与することもできます。 「Microsoft Entra ID からユーザーとグループを同期する」を参照してください。
  • レビュー アプリを含むワークスペースに既にアクセスできるユーザーの場合、追加の構成は必要ありません。

次のコード例は、エージェントのレビュー アプリに対するアクセス許可をユーザーに付与する方法を示しています。 users パラメーターは、電子メール アドレスの一覧を受け取ります。

from databricks import agents

# Note that <user_list> can specify individual users or groups.
agents.set_permissions(model_name=<model_name>, users=[<user_list>], permission_level=agents.PermissionLevel.CAN_QUERY)

チャット ログを確認するには、ユーザーに CAN_REVIEW アクセス許可が必要です。

レビュー アプリをデプロイする

agents.deploy() を使用してエージェントをデプロイすると、レビュー アプリが自動的に有効になり、デプロイされます。 コマンドの出力は、レビュー アプリの URL を示しています。 エージェントのデプロイについては、「生成 AI アプリケーション用のエージェントをデプロイする」を参照してください。

ノートブック コマンドの出力からアプリを確認するためのリンク

デプロイへのリンクを紛失した場合は、list_deployments() を使用して見つけることができます。

from databricks import agents

deployments = agents.list_deployments()
deployments

アプリの UI を確認する

レビュー アプリを開くには、提供された URL をクリックします。 レビュー アプリ UI の左側のサイドバーには、3 つのタブがあります。

レビュー アプリを開くと、手順ページが表示されます。

アプリの起動画面を確認する

レビュー担当者に手順を提供する

レビュー担当者に表示される手順のカスタム テキストを提供するには、次のコードを使用します。

from databricks import agents

agents.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.")
agents.get_review_instructions(uc_model_name)

Python の例を指定したレビュー アプリ指示のスクリーンショット。

アプリとチャットしてレビューを送信する

アプリとチャットしてレビューを送信するには:

  1. 左側サイドバーの [ボットをテストする] をクリックします。

  2. ボックスに質問を入力し、キーボードの 返す または 入力する を押すか、ボックス内の矢印をクリックします。 アプリには、質問に対する回答と、その回答を見つけるために使用したソースが表示されます。

  3. アプリの回答を確認し、はいいいえ、または わからない を選択します。

  4. アプリで追加情報を求められます。 適切なボックスにチェックするか、指定されたフィールドにコメントを入力します。

  5. 応答を直接編集して、より良い回答を提供することもできます。 応答を編集するには、次のビデオに示すように、応答の編集 をクリックし、ダイアログで変更を加え、保存 をクリックします。

    応答を編集する方法

  6. [完了] をクリックしてフィードバックを保存します。

  7. 質問を続けて、追加のフィードバックを提供します。

次の図は、このワークフローを示しています。

  1. レビュー アプリを使用して、レビュー担当者はエージェント アプリケーションとチャットします。
  2. レビュー アプリを使用して、レビュー担当者はアプリケーションの応答に関するフィードバックを提供します。
  3. すべての要求、応答、およびフィードバックは、推論テーブルに記録されます。

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

エキスパート レビュー担当者による評価にチャット ログを使用できるようにする

ユーザーが REST API またはレビュー アプリを使用してアプリとやり取りをすると、すべての要求、応答、追加のフィードバックが推論テーブルに保存されます。 推論テーブルは、モデルが登録されたのと同じ Unity Catalog のカタログとスキーマにあり、<model_name>_payload<model_name>_payload_assessment_logs<model_name>_payload_request_logsという名前が付けられます。 スキーマを含むこれらのテーブルの詳細については、「エージェントの拡張推論テーブル」を参照してください。

エキスパートレビュー担当者による評価のためにこれらのログをレビュー アプリに読み込むには、まず request_id を見つけて、次のようにその request_id のレビューを有効にする必要があります。

  1. <model_name>_payload_request_logs 推論テーブルから、レビューすべき request_id を見つけます。 推論テーブルは、モデルが登録されたのと同じ Unity Catalog のカタログとスキーマにあります。

  2. レビュー アプリにレビュー ログを読み込むには、次のようなコードを使用します。

    from databricks import agents
    
    agents.enable_trace_reviews(
      model_name=model_fqn,
      request_ids=[
          "52ee973e-0689-4db1-bd05-90d60f94e79f",
          "1b203587-7333-4721-b0d5-bba161e4643a",
          "e68451f4-8e7b-4bfc-998e-4bda66992809",
      ],
    )
    
  3. 結果のセルには、選択したログがレビュー用に読み込まれたレビュー アプリへのリンクが含まれます。

エキスパートのレビュー用に読み込まれたチャット ログを使用してアプリをレビューする

他のユーザーとアプリとのインタラクションのログを専門家がレビューする

以前のチャットのログを確認するには、ログがレビュー用に有効になっている必要があります。 「エキスパートのレビュー担当者による評価にチャット ログを使用できるようにする」を参照してください。

  1. レビュー アプリの左側のサイドバーで、レビューするチャット を選択します。 有効な要求が表示されます。

    レビューが有効になっているチャット

  2. 要求をクリックしてレビュー用に表示します。

  3. 要求と応答を確認します。 アプリには、参照に使用したソースも表示されます。 これらをクリックして参照を確認し、ソースの関連性に関するフィードバックを提供できます。

  4. 応答の品質に関するフィードバックを提供するには、はいいいえ、または わからない を選択します。

  5. アプリで追加情報を求められます。 適切なボックスにチェックするか、指定されたフィールドにコメントを入力します。

  6. 応答を直接編集して、より良い回答を提供することもできます。 応答を編集するには、応答の編集 をクリックし、ダイアログで変更を加えて、保存 をクリックします。 プロセスを示すビデオについては、「アプリとチャットしてレビューを送信する」を参照してください。

  7. [完了] をクリックしてフィードバックを保存します。

次の図は、このワークフローを示しています。

  1. レビュー担当者は、レビュー アプリまたはカスタム アプリを使用して、エージェント アプリケーションとチャットします。
  2. すべての要求と応答が推論テーブルに記録されます。
  3. アプリケーション開発者は、enable_trace_reviews([request_id]) (request_id<model_name>_payload_request_logs 推論テーブルからのものである) を使用して、チャット ログを投稿しアプリを確認します。
  4. エキスパートは、レビュー アプリを使用し、ログを確認し、フィードバックを提供します。 エキスパートのフィードバックは推論テーブルに記録されます。

レビュー担当者がレビュー アプリまたは REST API と対話してフィードバックを提供するトレース レビューを実行します。

Note

Azure Storage ファイアウォールを有効にしている場合は、Azure Databricks アカウント チームに連絡して、エンドポイントの推論テーブルを有効にします。

要求ログ テーブルで mlflow.evaluate() を使用する

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

要求ログ ノートブックで評価を実行する

ノートブックを入手