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

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

Databricks アプリを使用して、デプロイされたエージェントのカスタム チャット UI を構築します。これにより、ブランディングやエージェント出力の表示方法などを制御できるインターフェイスでエージェントを共有できます。

エージェントの構築を始めたばかりで、本番運用前のテストにチャットUIが必要な場合は、代わりに組み込み レビューアプリ を使用してください。 この記事のアプローチは、追加の UI カスタマイズが必要なユース ケースを対象としており、カスタム チャット UI の構築が正当化されます。

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

サンプルアプリは GitHub(e2e-chatbot-app)でホストされています。Streamlit を使用して、次のことを行うアプリを作成します。

  • ストリーミング 出力: アプリは、エージェント出力をストリームしてリアルタイムで応答を確認し、必要に応じて非ストリーミング出力にフォールバックしようとします。
  • ツールコール : アプリはエージェントのツールコールをレンダリングします。エージェントは、「 コードで AI エージェントを作成する」で推奨されているベスト プラクティスを使用して作成する必要があります。
  • フィードバック : アプリは 、試験的な API を使用して、チャットの応答に関するユーザー フィードバックを収集します。

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

必要条件

Databricks アプリをローカルで開発して実行する

サンプル アプリを独自のチャット UI の出発点として使用します。アプリをローカルで実行するには、次の手順に従います。

  1. アプリ テンプレート リポジトリをクローンします。

    Bash
    git clone https://github.com/databricks/app-templates
  2. 必要なライブラリをインストールします。

    Bash
    cd e2e-chatbot-app
    pip install -r requirements.txt
  3. エージェント エンドポイントを呼び出すには、Databricks ワークスペースに対して認証を行う必要があります。個人用アクセス トークンを生成し、トークン値を保存します。「ワークスペース ユーザーの Databricks 個人用アクセス トークン」を参照してください。

  4. Databricks CLI を構成します。

    Bash
    databricks configure
  5. ワークスペースの Databricks ホスト URL ( https://hostname.cloud.databricks.com と、前の 個人用アクセス トークン ) を指定します。

  6. モデルサービング エンドポイント名を指定し、アプリを実行します。 モデルサービング エンドポイント名を見つけるには、ワークスペースに移動し、[ サービング] を選択してモデルサービング エンドポイントの一覧を表示します。

    Bash
    export SERVING_ENDPOINT=<your-serving-endpoint-name>
    streamlit run app.py

Databricks アプリをデプロイする

この例を Databricks アプリ としてデプロイし、他のユーザーと共有します。

  1. databricks app create を実行して Databricks アプリを作成します。次のスニペットは、 SERVING_ENDPOINT がまだ設定されていることを前提としていますが、そうでない場合は、サービングエンドポイント名に置き換えてください。

    Bash
    databricks apps create --json '{
    "name": "my-agent-chatbot",
    "resources": [
    {
    "name": "serving-endpoint",
    "serving_endpoint": {
    "name": "'"$SERVING_ENDPOINT"'",
    "permission": "CAN_QUERY"
    }
    }
    ]
    }'
  2. ソース コードを Databricks にアップロードし、 e2e-chatbot-app ディレクトリから次のコマンドを実行してアプリをデプロイします。

    Bash
    DATABRICKS_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"
  3. アプリの URL を取得し、アプリをテストします。

    Bash
    databricks apps get my-agent-chatbot | jq -r '.url'

アプリを共有する

アプリをテストした後、他のユーザーにアプリを表示する権限を付与できます。「Databricks アプリのアクセス許可を構成する」を参照してください。

アプリのURLを他のユーザーと共有して、エージェントがエージェントとチャットしてフィードバックを提供できるようにします。