Databricks Apps でチャット UI を構築して共有する
Databricks Apps使用して、エージェントのチャット UI を構築およびデプロイします。 エージェント アプリ テンプレートには、追加の設定なしでこのチャット UI が含まれています。このページを使用して、テンプレート UI をカスタマイズしたり、テンプレートなしで展開されたエージェントにチャット UI を追加したりします。

必要条件
このチャット UI は、以下の従来のスキーマを除くすべての Databricks エージェントで動作します。
-
チャット またはレスポンスタスクタイプで モデルサービングにデプロイされたエージェント
次の開発ツールが必要です。
-
NPM CLI : ローカル開発に必要です。GitHub - NPM CLI を参照
-
Databricks CLI : 認証に必要です。インストール ガイドを参照してください。
-
Databricks CLI をインストールします。
-
プロフィール名を設定してください:
Bashexport DATABRICKS_CONFIG_PROFILE='your_profile_name' -
認証を設定します。
Bashdatabricks auth login --profile "$DATABRICKS_CONFIG_PROFILE"
-
チャットアプリケーションの例
サンプルアプリe2e-chatbot-app-nextは、NextJS、React、およびAI SDK使用して、本番運用可能なチャット インターフェイスを構築します。
テンプレートの使用方法の詳細については、プロジェクトのREADME.mdを参照してください。
サンプル アプリでは次のことが示されています。
-
ストリーミング出力 : 非ストリーミング モードへの自動フォールバックを使用して生成されるエージェント応答を表示します。
-
ツール呼び出し :エージェント フレームワークのベスト プラクティスを使用して作成されたエージェントのツール呼び出しをレンダリングします。
-
Databricks Agent と基盤モデルの統合 : エンドポイントを提供する基盤モデルおよびDatabricks Agent への直接接続
-
Databricks 認証 : Databricks 認証を使用して、チャット アプリのエンド ユーザーを識別し、会話を安全に管理します。
-
永続的なチャット履歴 : 完全なガバナンスを備えた Databricks Lakebase (Postgres) に会話を保存します
オプション機能を有効にするには、次のセクションを開きます。
ユーザーフィードバックを有効にする
ユーザーフィードバックを有効にする
ユーザーは、回答に対して賛成/反対のフィードバックを提供でき、それがMLflowエクスペリメントに記録されます。
agent-openai-agents-sdkやagent-langgraphなどのエージェント テンプレートを使用している場合、バンドルはアプリがユーザー フィードバックをMLflowエクスペリメントに書き込むための認証を自動的に構成します。 フィードバックはdatabricks bundle deploy以降、追加のステップなしで機能します。
既存のエージェント エンドポイントを指すスタンドアロンのe2e-chatbot-app-nextを使用している場合は、テンプレートREADME.mdに記載されているクイックスタート スクリプトを実行して、 MLflowエクスペリメントの認証を構成します。
同じデータベースインスタンスで複数のアプリをホストする
同じデータベースインスタンスで複数のアプリをホストする
この例では、アプリ コードがデータベース インスタンス内の固定のai_chatbotスキーマをターゲットにしているため、アプリごとに 1 つのデータベースのみが作成されます。同じインスタンスから複数のアプリをホストするには、次の手順を実行する必要があります。
databricks.yml内のデータベース インスタンス名を更新します。- コードベース内の
ai_chatbotへの参照を、既存のデータベース インスタンス内の新しい目的のスキーマ名に更新します。 npm run db:generateを実行してデータベースの移行を再生成します。- アプリをデプロイします。
ユーザー認証を有効にする(パブリックプレビュー)
ユーザー認証を有効にする
Preview
User authorization is in Public Preview. Your workspace admin must enable it before you can configure user authorization for your app.
一部のサービス提供エンドポイントでは、アプリのサービスプリンシパルトークンではなく、ユーザーのアクセストークンを転送する必要があります。これはユーザー認証と呼ばれ、場合によっては ユーザー代理認証 とも呼ばれます。
エンドポイントの認証ポリシーでAPIスコープが構成されている場合、カスタム モデルサービング エンドポイントにはユーザーの承認が必要です。
ユーザー認証を設定するには、Databricks UIでアプリを作成または編集する際に、必要なスコープを追加します。
- [Configure リソース ] の [ User authorization] で、 [+Addscope] をクリックします。
serving.serving-endpointsスコープを追加します。このスコープは、ユーザー認証を使用するすべてのエンドポイントに必要です。- エンドポイントの認証ポリシーに記載されている追加のスコープをすべて追加してください。
詳細な手順については、 「アプリにスコープを追加する」を参照してください。
e2e-chatbot-app-nextテンプレートは、設定されたサービス提供エンドポイントがユーザー認証を必要とするかどうかを自動的に検出します。アプリに必要なスコープが不足している場合、不足しているスコープを一覧表示する警告バナーが表示されます。
アプリを共有する
ユーザーにアプリを表示する権限を付与し ( 「Databricks アプリの権限を構成する」を参照)、アプリの URL を共有します。
既知の制限事項
- 画像やその他のマルチモーダル入力はサポートされていません
- このアプリは、 Databricks CLI認証 (ローカル開発) とサービスプリンパルシ認証 (デプロイされたアプリ) のみをサポートします。 PAT、Azure マネージド ID、およびその他のメカニズムはサポートされていません。
- Unity Catalog関数スコープは、ユーザー認証にはサポートされていません。
Streamlitエージェントチャットアプリ
以前の Streamlit テンプレートe2e-chatbot-app も引き続き使用できますが、 e2e-chatbot-app-nextの機能が欠けています。