エージェント アプリケーションの品質に関するフィードバックを得る
重要
この機能はパブリック プレビュー段階にあります。
この記事では、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)
アプリとチャットしてレビューを送信する
アプリとチャットしてレビューを送信するには:
左側サイドバーの [ボットをテストする] をクリックします。
ボックスに質問を入力し、キーボードの 返す または 入力する を押すか、ボックス内の矢印をクリックします。 アプリには、質問に対する回答と、その回答を見つけるために使用したソースが表示されます。
アプリの回答を確認し、はい、いいえ、または わからない を選択します。
アプリで追加情報を求められます。 適切なボックスにチェックするか、指定されたフィールドにコメントを入力します。
応答を直接編集して、より良い回答を提供することもできます。 応答を編集するには、次のビデオに示すように、応答の編集 をクリックし、ダイアログで変更を加え、保存 をクリックします。
[完了] をクリックしてフィードバックを保存します。
質問を続けて、追加のフィードバックを提供します。
次の図は、このワークフローを示しています。
- レビュー アプリを使用して、レビュー担当者はエージェント アプリケーションとチャットします。
- レビュー アプリを使用して、レビュー担当者はアプリケーションの応答に関するフィードバックを提供します。
- すべての要求、応答、およびフィードバックは、推論テーブルに記録されます。
エキスパート レビュー担当者による評価にチャット ログを使用できるようにする
ユーザーが REST API またはレビュー アプリを使用してアプリとやり取りをすると、すべての要求、応答、追加のフィードバックが推論テーブルに保存されます。 推論テーブルは、モデルが登録されたのと同じ Unity Catalog のカタログとスキーマにあり、<model_name>_payload
、<model_name>_payload_assessment_logs
、<model_name>_payload_request_logs
という名前が付けられます。 スキーマを含むこれらのテーブルの詳細については、「エージェントの拡張推論テーブル」を参照してください。
エキスパートレビュー担当者による評価のためにこれらのログをレビュー アプリに読み込むには、まず request_id
を見つけて、次のようにその request_id
のレビューを有効にする必要があります。
<model_name>_payload_request_logs
推論テーブルから、レビューすべきrequest_id
を見つけます。 推論テーブルは、モデルが登録されたのと同じ Unity Catalog のカタログとスキーマにあります。レビュー アプリにレビュー ログを読み込むには、次のようなコードを使用します。
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", ], )
結果のセルには、選択したログがレビュー用に読み込まれたレビュー アプリへのリンクが含まれます。
他のユーザーとアプリとのインタラクションのログを専門家がレビューする
以前のチャットのログを確認するには、ログがレビュー用に有効になっている必要があります。 「エキスパートのレビュー担当者による評価にチャット ログを使用できるようにする」を参照してください。
レビュー アプリの左側のサイドバーで、レビューするチャット を選択します。 有効な要求が表示されます。
要求をクリックしてレビュー用に表示します。
要求と応答を確認します。 アプリには、参照に使用したソースも表示されます。 これらをクリックして参照を確認し、ソースの関連性に関するフィードバックを提供できます。
応答の品質に関するフィードバックを提供するには、はい、いいえ、または わからない を選択します。
アプリで追加情報を求められます。 適切なボックスにチェックするか、指定されたフィールドにコメントを入力します。
応答を直接編集して、より良い回答を提供することもできます。 応答を編集するには、応答の編集 をクリックし、ダイアログで変更を加えて、保存 をクリックします。 プロセスを示すビデオについては、「アプリとチャットしてレビューを送信する」を参照してください。
[完了] をクリックしてフィードバックを保存します。
次の図は、このワークフローを示しています。
- レビュー担当者は、レビュー アプリまたはカスタム アプリを使用して、エージェント アプリケーションとチャットします。
- すべての要求と応答が推論テーブルに記録されます。
- アプリケーション開発者は、
enable_trace_reviews([request_id])
(request_id
は<model_name>_payload_request_logs
推論テーブルからのものである) を使用して、チャット ログを投稿しアプリを確認します。 - エキスパートは、レビュー アプリを使用し、ログを確認し、フィードバックを提供します。 エキスパートのフィードバックは推論テーブルに記録されます。
Note
Azure Storage ファイアウォールを有効にしている場合は、Azure Databricks アカウント チームに連絡して、エンドポイントの推論テーブルを有効にします。
要求ログ テーブルで mlflow.evaluate()
を使用する
次のノートブックは、レビュー アプリのログを mlflow.evaluate()
を使用した評価実行への入力として使用する方法を示しています。