このページでは、Gemini Enterprise で Dialogflow エージェントを登録して使用する方法について説明します。
概要
Gemini Enterprise で Dialogflow エージェントを使用するには、まずエージェントをデプロイしてから登録する必要があります。Dialogflow エージェントを登録すると、デプロイされたエージェントが Gemini Enterprise にリンクされ、相互に通信できるようになります。
始める前に
Dialogflow エージェントを登録する前に、次の手順が完了していることを確認する必要があります。
- Dialogflow エージェントをデプロイします。Dialogflow と会話エージェントのダッシュボードを表示するには、会話エージェントをご覧ください。
- Google Cloud プロジェクトで Discovery Engine API を有効にします。
- ディスカバリー エンジン サービス アカウントに対して
Vertex AI UserロールとVertex AI Viewerロールを有効にします。これは、Gemini Enterprise が Dialogflow エージェントと通信するために不可欠です。これらの権限は、Google Cloud コンソールの [Identity and Access Management] セクションで構成できます。 - [Google 提供のロール付与を含める] チェックボックスをオンにして、ディスカバリー エンジン サービス アカウントを表示します。
- 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 エージェントがホストされている特定の地理的位置(
globalやus-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: データストアのマルチリージョン(
global、us、eu) - 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 エージェントの登録を更新する
エージェントの登録時に指定されたすべてのフィールドを更新できます。更新プロセスでは、次のフィールドが必須です。
displayNamedescriptionreasoning_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: 削除するエージェント登録のリソース名。