エージェントアプリケーションの品質に関するフィードバックを得る
プレビュー
この機能はパブリックプレビュー段階です。
この記事では、Databricks レビュー アプリを使用して、 エージェント アプリケーションの品質に関するフィードバックを人間のレビュー担当者から収集する方法について説明します。 内容は次のとおりです。
レビュー アプリをデプロイする方法。
レビュアーがアプリを使用してエージェント アプリケーションの応答に関するフィードバックを提供する方法。
専門家がログに記録されたチャットを確認して、アプリを使用して改善の提案やその他のフィードバックを提供する方法。
人間による評価では何が行われますか?
Databricks レビュー アプリは、専門家の利害関係者が LLM と対話できる環境 (つまり、会話をしたり、質問をしたり) で LLM をステージングします。 このように、レビューアプリを使用すると、アプリケーションに関するフィードバックを収集でき、提供される回答の品質と安全性を確保するのに役立ちます。
利害関係者は、アプリケーション ボットとチャットして、それらの会話に関するフィードバックを提供したり、履歴ログ、キュレーションされたトレース、またはエージェントの出力に関するフィードバックを提供したりできます。
要件
推論テーブル は、エージェントにサービスを提供するエンドポイントで有効にする必要があります。
各人間のレビュー担当者は、レビュー アプリ ワークスペースにアクセスできる必要があります。 次のセクション「 レビュー アプリ ワークスペースへのアクセス許可を設定する」を参照してください。
開発者は、
databricks-agents
SDK をインストールして、アクセス許可を設定し、レビュー アプリを構成する必要があります。%pip install databricks-agents dbutils.library.restartPython()
レビューアプリワークスペースへの権限を設定する
レビュー担当者がレビューアプリを含むワークスペースにすでにアクセスしている場合は、何もする必要はありません。
レビュアーがまだアクセス権を持っていない場合、アカウント管理者はアカウントレベルのSCIMプロビジョニングを使用して、アイデンティティプロバイダからDatabricksアカウントにユーザーとグループを自動的に同期させることができます。DatabricksでIDを設定する際に、これらのユーザーとグループを手動で登録することもできます。これにより、適格な査読者として含めることができます。「IDプロバイダーからユーザーとグループを同期する」を参照してください。
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=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)
アプリとチャットしてレビューを送信する
アプリとチャットしてレビューを送信するには:
左側のサイドバーで [ボットをテスト ] をクリックします。
ボックスに質問を入力して、キーボードの Return キーまたは Enter キーを押すか、ボックス内の矢印をクリックします。 アプリは、質問に対する回答と、回答を見つけるために使用したソースを表示します。
アプリの回答を確認し、[ はい]、[ いいえ]、または [ わからない] を選択します。
アプリは追加情報を求めます。 該当するボックスにチェックを入れるか、表示されたフィールドにコメントを入力します。
また、応答を直接編集して、より適切な回答を提供することもできます。 レスポンスを編集するには、次のビデオに示すように、[ Edit response] をクリックし、ダイアログで変更を加えて [Save] をクリックします。
「完了」をクリックして、フィードバックを保存します。
追加のフィードバックを提供するために、引き続き質問をしてください。
次の図は、このワークフローを示しています。
レビューアプリを使用して、レビュアーはエージェントアプリケーションとチャットします。
レビューアプリを使用して、レビュアーはアプリケーションの応答に関するフィードバックを提供します。
すべてのリクエスト、レスポンス、フィードバックは推論テーブルに記録されます。
チャットログを専門のレビュアーによる評価に利用できるようにする
ユーザーが 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
推論テーブルからのものです) を使用して、アプリのレビューにチャット ログを投稿します。レビューアプリを使用して、専門家がログをレビューし、フィードバックを提供します。 専門家のフィードバックは推論テーブルに記録されます。
要求ログ・テーブルでmlflow.evaluate()
を使用します
次のノートブックは、レビュー アプリのログを mlflow.evaluate()
を使用した評価実行への入力として使用する方法を示しています。 mlflow.evaluate()
の詳細については、オープンソース MLflowを使用した大規模言語モデルの評価 を参照してください。