Databricks Appsでチャット UI を構築して共有する (モデルサービング)
新しいユースケースの場合、 Databricks 、エージェント コード、サーバー構成、展開ワークフローを完全に制御するために、 Databricks Appsにエージェントを展開することをお勧めします。 「 AIエージェントを作成してDatabricks Appsにデプロイする」を参照してください。 既存のエージェントを移行するには、 「モデルサービングからDatabricks Appsへのエージェントの移行」を参照してください。
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 への直接接続
-
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を実行してデータベースの移行を再生成します。- アプリをデプロイします。