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

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

概要

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

始める前に

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

  1. Dialogflow エージェントをデプロイします。Dialogflow と会話エージェントのダッシュボードを表示するには、会話エージェントをご覧ください。
  2. Google Cloud プロジェクトで Discovery Engine API を有効にします。
  3. ディスカバリー エンジン サービス アカウントに対して Vertex AI User ロールと Vertex AI Viewer ロールを有効にします。これは、Gemini Enterprise が Dialogflow エージェントと通信するために不可欠です。これらの権限は、Google Cloud コンソールの [Identity and Access Management] セクションで構成できます。
  4. [Google 提供のロール付与を含める] チェックボックスをオンにして、ディスカバリー エンジン サービス アカウントを表示します。
  5. Gemini Enterprise アプリを作成します。詳細については、アプリを作成するをご覧ください。

エージェントを登録する

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

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 フィールドの一意のリソース名が含まれます。このリソース名は、今後の更新や参照に使用できます。

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

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

curl

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。

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

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

curl

  curl -X GET \
    -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"

変数を値に置き換えます。

  • PROJECT_ID: 実際の Google Cloud プロジェクト ID。
  • AGENT_RESOURCE_NAME: 更新するエージェント登録のリソース名。

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 エージェントを削除する

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

curl

  curl -X DELETE \
    -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"

変数を値に置き換えます。

  • PROJECT_ID: 実際の Google Cloud プロジェクト ID。
  • AGENT_RESOURCE_NAME: 削除するエージェント登録のリソース名。