このページでは、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] ページに移動します。
Gemini Enterprise アプリを作成します。詳細については、アプリを作成するをご覧ください。
Dialogflow エージェントを Gemini Enterprise に登録する
Dialogflow エージェントを Gemini Enterprise に登録するには、Google Cloud コンソールまたは REST API を使用します。登録すると、Gemini Enterprise アプリ内のユーザーがエージェントを利用できるようになります。
コンソール
Google Cloud コンソールを使用して Dialogflow エージェントを登録する手順は次のとおりです。
Google Cloud コンソールで、[Gemini Enterprise] ページに移動します。
プロジェクトを選択します。
エージェントを登録するアプリの名前をクリックします。
[エージェント] > [エージェントの追加] をクリックします。 [エージェント タイプの選択] ペインが表示されます。
[Dialogflow によるカスタム エージェント] カードで [追加] をクリックして、Dialogflow エージェントを Gemini Enterprise に登録します。[構成] ペインが開きます。
エージェントを構成する手順は次のとおりです。
[エージェント名] フィールドに名前を入力します。この値は、エージェントの表示名として Gemini Enterprise に表示されます。
[エージェントの説明] フィールドに説明を入力します。この値は、ユーザーのクエリに応じてエージェントを呼び出すかどうかを判断するために LLM によって使用されます。
[Dialogflow エージェントのソース] フィールドに、Gemini Enterprise に登録する Dialogflow エージェントのリソースパスを入力します。
次のフォーマットを使用します:
projects/{project}/locations/{location}/agents/{agent}[エージェントの利用可能状況] オプションの [選択時] がデフォルトで設定されています。
[作成] をクリックします。
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 フィールドの一意のリソース名が含まれます。このリソース名は、今後の更新や参照に使用できます。
アプリに接続されているエージェントを一覧表示する
次のコードサンプルは、アプリに接続されているすべてのエージェントの詳細を取得する方法を示したものです。
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: アプリのマルチリージョン(
global、us、eu)。 - 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: アプリのマルチリージョン(
global、us、eu)。 - APP_ID: Gemini Enterprise アプリの ID。
- AGENT_ID: エージェントの ID。エージェント ID は、アプリに接続されているエージェントを一覧表示することで確認できます。
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 エージェントを削除する
次のコードサンプルが示すのは、アプリに接続されているエージェントを削除する方法です。
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: アプリのマルチリージョン(
global、us、eu) - APP_ID: Gemini Enterprise アプリの ID。
- AGENT_ID: エージェントの ID。エージェント ID は、アプリに接続されているエージェントを一覧表示することで確認できます。