Databricks Apps でチャット UI を構築して共有する
Databricks アプリを使用して、デプロイされたエージェントのカスタム チャット UI を構築します。これにより、ブランディングやエージェント出力の表示方法などを制御できるインターフェイスでエージェントを共有できます。
エージェントの構築を始めたばかりで、本番運用前のテストにチャットUIが必要な場合は、代わりに組み込み レビューアプリ を使用してください。 この記事のアプローチは、追加の UI カスタマイズが必要なユース ケースを対象としており、カスタム チャット UI の構築が正当化されます。
チャットアプリケーションの例
サンプルアプリは GitHub(e2e-chatbot-app)でホストされています。Streamlit を使用して、次のことを行うアプリを作成します。
- ストリーミング 出力: アプリは、エージェント出力をストリームしてリアルタイムで応答を確認し、必要に応じて非ストリーミング出力にフォールバックしようとします。
- ツールコール : アプリはエージェントのツールコールをレンダリングします。エージェントは、「 コードで AI エージェントを作成する」で推奨されているベスト プラクティスを使用して作成する必要があります。
- フィードバック : アプリは 、試験的な API を使用して、チャットの応答に関するユーザー フィードバックを収集します。
必要条件
-
エージェントは、サービスエンドポイントにデプロイする必要があります。次のいずれかになります。
agents.deploy()
を使用してデプロイされたカスタムエージェント。生成AIアプリケーションのためのエージェントのデプロイを参照してください。- Chat タスクの種類を持つ基盤モデルまたは外部モデルサービング エンドポイント。Mosaic AI Model Servingでサポートされている基盤モデルを参照してください。
-
Python 3.11 以降をインストールして、アプリをローカルで実行およびテストします。
-
Databricks CLI をインストールして、アプリを Databricks にデプロイします。「Databricks CLI のインストールまたは更新」を参照してください。
Databricks アプリをローカルで開発して実行する
サンプル アプリを独自のチャット UI の出発点として使用します。アプリをローカルで実行するには、次の手順に従います。
-
アプリ テンプレート リポジトリをクローンします。
Bashgit clone https://github.com/databricks/app-templates
-
必要なライブラリをインストールします。
Bashcd e2e-chatbot-app
pip install -r requirements.txt -
エージェント エンドポイントを呼び出すには、Databricks ワークスペースに対して認証を行う必要があります。個人用アクセス トークンを生成し、トークン値を保存します。「ワークスペース ユーザーの Databricks 個人用アクセス トークン」を参照してください。
-
Databricks CLI を構成します。
Bashdatabricks configure
-
ワークスペースの Databricks ホスト URL (
https://hostname.cloud.databricks.com
と、前の 個人用アクセス トークン ) を指定します。 -
モデルサービング エンドポイント名を指定し、アプリを実行します。 モデルサービング エンドポイント名を見つけるには、ワークスペースに移動し、[ サービング] を選択してモデルサービング エンドポイントの一覧を表示します。
Bashexport SERVING_ENDPOINT=<your-serving-endpoint-name>
streamlit run app.py
Databricks アプリをデプロイする
この例を Databricks アプリ としてデプロイし、他のユーザーと共有します。
-
databricks app create
を実行して Databricks アプリを作成します。次のスニペットは、SERVING_ENDPOINT
がまだ設定されていることを前提としていますが、そうでない場合は、サービングエンドポイント名に置き換えてください。Bashdatabricks apps create --json '{
"name": "my-agent-chatbot",
"resources": [
{
"name": "serving-endpoint",
"serving_endpoint": {
"name": "'"$SERVING_ENDPOINT"'",
"permission": "CAN_QUERY"
}
}
]
}' -
ソース コードを Databricks にアップロードし、
e2e-chatbot-app
ディレクトリから次のコマンドを実行してアプリをデプロイします。BashDATABRICKS_USERNAME=$(databricks current-user me | jq -r .userName)
databricks sync . "/Users/$DATABRICKS_USERNAME/e2e-chatbot-app"
databricks apps deploy my-agent-chatbot --source-code-path "/Workspace/Users/$DATABRICKS_USERNAME/e2e-chatbot-app" -
アプリの URL を取得し、アプリをテストします。
Bashdatabricks apps get my-agent-chatbot | jq -r '.url'
アプリを共有する
アプリをテストした後、他のユーザーにアプリを表示する権限を付与できます。「Databricks アプリのアクセス許可を構成する」を参照してください。
アプリのURLを他のユーザーと共有して、エージェントがエージェントとチャットしてフィードバックを提供できるようにします。