Dialogflow エージェントの登録と管理

このページでは、Gemini Enterprise で Dialogflow エージェントを登録して使用する方法について説明します。

概要

Gemini Enterprise で Dialogflow エージェントを使用するには、まずエージェントをデプロイしてから登録する必要があります。Dialogflow エージェントを登録すると、デプロイされたエージェントが Gemini Enterprise にリンクされ、相互に通信できるようになります。

始める前に

Dialogflow エージェントを登録する前に、次の手順が完了していることを確認する必要があります。

  • Dialogflow エージェントをデプロイします。Dialogflow と会話エージェントのダッシュボードを表示するには、会話エージェントをご覧ください。

  • ディスカバリー エンジン管理者ロール。

  • Discovery Engine API を有効にします。 Google Cloudプロジェクトで Discovery Engine API を有効にするには、 Google Cloud コンソールで [Discovery Engine API] ページに移動します。

    Discovery Engine API に移動

  • Gemini Enterprise アプリを作成します。詳細については、アプリを作成するをご覧ください。

Dialogflow エージェントを Gemini Enterprise に登録する

Dialogflow エージェントを Gemini Enterprise に登録するには、Google Cloud コンソールまたは REST API を使用します。登録すると、Gemini Enterprise アプリ内のユーザーがエージェントを利用できるようになります。

コンソール

Google Cloud コンソールを使用して Dialogflow エージェントを登録する手順は次のとおりです。

  1. Google Cloud コンソールで、[Gemini Enterprise] ページに移動します。

    Gemini Enterprise に移動

  2. プロジェクトを選択します。

  3. エージェントを登録するアプリの名前をクリックします。

  4. [エージェント] > [エージェントの追加] をクリックします。 [エージェント タイプの選択] ペインが表示されます。

  5. [Dialogflow によるカスタム エージェント] カードで [追加] をクリックして、Dialogflow エージェントを Gemini Enterprise に登録します。[構成] ペインが開きます。

  6. エージェントを構成する手順は次のとおりです。

    1. [エージェント名] フィールドに名前を入力します。この値は、エージェントの表示名として Gemini Enterprise に表示されます。

    2. [エージェントの説明] フィールドに説明を入力します。この値は、ユーザーのクエリに応じてエージェントを呼び出すかどうかを判断するために LLM によって使用されます。

    3. [Dialogflow エージェントのソース] フィールドに、Gemini Enterprise に登録する Dialogflow エージェントのリソースパスを入力します。

      次のフォーマットを使用します: projects/{project}/locations/{location}/agents/{agent}

      [エージェントの利用可能状況] オプションの [選択時] がデフォルトで設定されています。

    4. [作成] をクリックします。

curl

このコードサンプルは、エージェントを登録する方法を示しています。

  curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -H "X-Goog-User-Project: PROJECT_ID" \
    "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/assistants/default_assistant/agents" \
    -d '{
      "displayName": "DISPLAY_NAME",
      "description": "DESCRIPTION",
      "icon": {
        "uri": "ICON_URI"
      },
      "dialogflowAgentDefinition": {
        "dialogflowAgent": "projects/DIALOGFLOW_PROJECT_ID/locations/DIALOGFLOW_LOCATION/agents/DIALOGFLOW_AGENT_ID"
      }
    }'

変数部分は、次のように実際の値に置き換えます。

  • PROJECT_ID: 実際の Google Cloud プロジェクト ID。
  • APP_ID: Gemini Enterprise アプリの ID。
  • DISPLAY_NAME: Gemini Enterprise に表示されるエージェントのわかりやすい名前。
  • DESCRIPTION: Gemini Enterprise でユーザーに表示される、エージェントの機能の簡単な説明。たとえば、「出張用にアップロードされた請求書から重要な情報を抽出する」などです。
  • ICON_URI: Dialogflow エージェントの名前の横に表示されるアイコンの公開 URI。icon.content で Base64 エンコードされた画像を渡すこともできます。
  • DIALOGFLOW_PROJECT_ID: Dialogflow エージェントのロケーションを識別する Google Cloud プロジェクト ID。
  • DIALOGFLOW_LOCATION: Dialogflow エージェントがホストされている特定の地理的位置(globalus-central1 など)。
  • DIALOGFLOW_AGENT_ID: Dialogflow エージェントの固有識別子。

このコマンドが成功すると、新しく作成された Dialogflow エージェント リソースのすべてのフィールドが返されます。これには、name フィールドの一意のリソース名が含まれます。このリソース名は、今後の更新や参照に使用できます。

アプリに接続されているエージェントを一覧表示する

次のコードサンプルは、アプリに接続されているすべてのエージェントの詳細を取得する方法を示したものです。

REST

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION/collections/default_collection/engines/APP_ID/assistants/default_assistant/agents"

変数部分は、次のように実際の値に置き換えます。

  • ENDPOINT_LOCATION-: API リクエストのマルチリージョン。次のいずれかの値を割り当てます。
    • 米国のマルチリージョンの場合は us-
    • EU のマルチリージョンの場合は eu-
    • グローバル ロケーションの場合は global-
    詳細については、データストアのマルチリージョンを指定するをご覧ください。
  • PROJECT_ID: 実際の Google Cloud プロジェクト ID。
  • LOCATION: アプリのマルチリージョン(globaluseu)。
  • APP_ID: Gemini Enterprise アプリの ID。

エージェントが Google によって事前構築されていない場合、レスポンスの最初の数行に name フィールドが含まれます。このフィールドの値には、パスの末尾にエージェント ID が含まれます。たとえば、次のレスポンスでは、エージェント ID は 12345678901234567890 です。

{
"name": "projects/123456/locations/global/collections/default_collection/engines/my-app/assistants/default_assistant/agents/12345678901234567890",
...
}

Dialogflow エージェントの詳細を表示する

次のコードサンプルが示すのは、Gemini Enterprise に登録されたエージェントの詳細を取得する方法です。

REST

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION/collections/default_collection/engines/APP_ID/assistants/default_assistant/agents/AGENT_ID"

変数部分は、次のように実際の値に置き換えます。

  • ENDPOINT_LOCATION-: API リクエストのマルチリージョン。次のいずれかの値を割り当てます。
    • 米国のマルチリージョンの場合は us-
    • EU のマルチリージョンの場合は eu-
    • グローバル ロケーションの場合は global-
    詳細については、データストアのマルチリージョンを指定するをご覧ください。
  • PROJECT_ID: 実際の Google Cloud プロジェクト ID。
  • LOCATION: アプリのマルチリージョン(globaluseu)。
  • APP_ID: Gemini Enterprise アプリの ID。
  • AGENT_ID: エージェントの ID。エージェント ID は、アプリに接続されているエージェントを一覧表示することで確認できます。

Dialogflow エージェントを更新する

エージェントの登録時に指定されたすべてのフィールドを更新できます。更新プロセスでは、次のフィールドが必須です。

  • displayName
  • description
  • reasoning_engine

フィールドを更新する場合は、特定のフィールドに変更が加えられていない場合でも、更新リクエストですべてのフィールドとその値を再定義する必要があります。

このコードサンプルは、Dialogflow エージェントの登録を更新する方法を示しています。

curl

  curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -H "X-Goog-User-Project: PROJECT_ID" \
  "https://discoveryengine.googleapis.com/v1alpha/AGENT_RESOURCE_NAME" \
    -d '{
      "displayName": "DISPLAY_NAME",
      "description": "DESCRIPTION",
      "icon": {
        "uri": "ICON_URI"
      },
      "dialogflowAgentDefinition": {
        "dialogflowAgent": "projects/PROJECT_ID/locations/REASONING_ENGINE_LOCATION/agents/DIALOGFLOW_AGENT_ID"
      }
    }'

変数部分は、次のように実際の値に置き換えます。

  • PROJECT_ID: 実際の Google Cloud プロジェクト ID。
  • AGENT_RESOURCE_NAME: 更新するエージェント登録のリソース名。
  • DISPLAY_NAME: エージェントの表示名。
  • DESCRIPTION: Gemini Enterprise に表示されるエージェントの説明。説明はユーザーの利便性のみを目的としています。
  • ICON_URI: Dialogflow エージェントの名前の横に表示されるアイコンの公開 URI。icon.content で Base64 エンコードされた画像を渡すこともできます。
  • REASONING_ENGINE_LOCATION: エージェントを作成する推論エンジンのクラウド ロケーション。
  • DIALOGFLOW_AGENT_ID: Dialogflow エージェントの固有識別子。

Dialogflow エージェントを削除する

次のコードサンプルが示すのは、アプリに接続されているエージェントを削除する方法です。

REST

curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION/collections/default_collection/engines/APP_ID/assistants/default_assistant/agents/AGENT_ID"

変数部分は、次のように実際の値に置き換えます。

  • ENDPOINT_LOCATION-: API リクエストのマルチリージョン。次のいずれかの値を割り当てます。
    • 米国のマルチリージョンの場合は us-
    • EU のマルチリージョンの場合は eu-
    • グローバル ロケーションの場合は global-
    詳細については、データストアのマルチリージョンを指定するをご覧ください。
  • PROJECT_ID: 実際の Google Cloud プロジェクト ID。
  • LOCATION: アプリのマルチリージョン(globaluseu
  • APP_ID: Gemini Enterprise アプリの ID。
  • AGENT_ID: エージェントの ID。エージェント ID は、アプリに接続されているエージェントを一覧表示することで確認できます。