メインコンテンツまでスキップ

Databricks Apps でチャット UI を構築して共有する

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

デプロイされたエージェントとチャットするためのチャットUIの例。

カスタム UI 要件を必要としないプレプロダクション運用テストの場合は、組み込みレビュー アプリを使用してください。 ここで説明するカスタム アプリのアプローチは、ブランディング、特殊な機能、または強化されたユーザー エクスペリエンスを必要とする本番運用の展開向けです。

必要条件

次のいずれかのエンドポイント タイプを含む Databricks ワークスペースにアクセスできる必要があります。

注記

レガシー スキーマを使用するエージェントはサポートされていません。

次の開発ツールが必要です。

  • NPM CLI : ローカル開発に必要です。GitHub - NPM CLI を参照)

  • Databricks CLI : 認証に必要です。インストール ガイドを参照してください。

    1. Databricks CLI をインストールします。

    2. プロフィール名を設定してください:

      Bash
      export DATABRICKS_CONFIG_PROFILE='your_profile_name'
    3. 認証を設定します。

      Bash
      databricks auth login --profile "$DATABRICKS_CONFIG_PROFILE"

チャットアプリケーションの例

サンプルアプリe2e-chatbot-app-next は、 NextJSReact 、および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 つのデータベースのみが作成されます。同じインスタンスから複数のアプリをホストするには、次の手順を実行する必要があります。

  1. databricks.yml内のデータベース インスタンス名を更新します。
  2. コードベース内のai_chatbotへの参照を、既存のデータベース インスタンス内の新しい目的のスキーマ名に更新します。
  3. npm run db:generateを実行してデータベースの移行を再生成します。
  4. アプリをデプロイします。