Databricks Apps でチャット UI を構築して共有する
Databricks アプリを使用して、デプロイされたエージェントのカスタム チャット UI を構築します。これにより、ブランド化されたインタラクティブなインターフェースを作成し、ユーザーがエージェントと対話する方法を完全に制御できるようになります。

カスタム UI 要件を必要としないプレプロダクション運用テストの場合は、組み込みレビュー アプリを使用してください。 ここで説明するカスタム アプリのアプローチは、ブランディング、特殊な機能、または強化されたユーザー エクスペリエンスを必要とする本番運用の展開向けです。
必要条件
次のいずれかのエンドポイント タイプを含む Databricks ワークスペースにアクセスできる必要があります。
-
カスタムエージェント:
agents.deploy()チャット または 応答 タスクタイプで 使用してデプロイされました -
エージェントブリック :ナレッジアシスタントまたはマルチエージェントスーパーバイザー
-
基盤モデル : チャット タスク タイプのエンドポイント。Mosaic AI Model Serving でサポートされている基盤モデルを参照してください。
レガシー スキーマを使用するエージェントはサポートされていません。
次の開発ツールが必要です。
-
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 サービス エンドポイント、および Agent Bricks への直接接続
- Databricks 認証 : Databricks 認証を使用して、チャット アプリのエンド ユーザーを識別し、会話を安全に管理します。
- 永続的なチャット履歴 : 完全なガバナンスを備えた Databricks Lakebase (Postgres) に会話を保存します
以前の Streamlit テンプレートe2e-chatbot-app も引き続き使用できますが、NextJS アプリの 番運用 機能がありません。
アプリを共有する
アプリをテストした後、他のユーザーにアプリを表示する権限を付与できます。「Databricks アプリのアクセス許可を構成する」を参照してください。
アプリのURLを他のユーザーと共有して、エージェントがエージェントとチャットしてフィードバックを提供できるようにします。
既知の制限事項
- 画像やその他のマルチモーダル入力はサポートされていません
- このアプリは、 Databricksの推奨認証方法 (ローカル開発の場合はDatabricks CLI認証、デプロイされたアプリの場合はDatabricksサービスプリンシパル認証) のみをサポートします。
- その他の認証メカニズム (PAT、Azure マネージド ID など) はサポートされていません。
同じデータベースインスタンスで複数のアプリをホストする
この例では、アプリ コードがデータベース インスタンス内の固定のai_chatbotスキーマをターゲットにしているため、アプリごとに 1 つのデータベースのみが作成されます。同じインスタンスから複数のアプリをホストするには、次の手順を実行する必要があります。
databricks.yml内のデータベース インスタンス名を更新します。- コードベース内の
ai_chatbotへの参照を、既存のデータベース インスタンス内の新しい目的のスキーマ名に更新します。 npm run db:generateを実行してデータベースの移行を再生成します。- アプリをデプロイします。