註冊及管理 Dialogflow 代理程式

本頁面說明如何向 Gemini Enterprise 註冊及使用 Dialogflow 代理程式。

總覽

如要搭配 Gemini Enterprise 使用 Dialogflow 代理程式,請先部署並註冊代理程式。註冊 Dialogflow 代理會將已部署的代理連結至 Gemini Enterprise,以便兩者通訊。

事前準備

註冊 Dialogflow 服務專員前,請務必完成下列步驟:

  • 部署 Dialogflow 代理程式。如要查看 Dialogflow 和對話式代理資訊主頁,請參閱「對話式代理」。

  • Discovery Engine 管理員角色。

  • 啟用 Discovery Engine API。 如要為 Google Cloud專案啟用 Discovery Engine API,請前往 Google Cloud 控制台的「Discovery Engine API」頁面。

    前往 Discovery Engine API

  • 建立 Gemini Enterprise 應用程式。詳情請參閱「建立應用程式」。

向 Gemini Enterprise 註冊 Dialogflow 代理

您可以使用Google Cloud 控制台或 REST API,將 Dialogflow 代理程式註冊至 Gemini Enterprise。註冊後,Gemini Enterprise 應用程式的使用者就能使用代理。

控制台

如要使用 Google Cloud 控制台註冊 Dialogflow 代理程式,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的「Gemini Enterprise」頁面。

    前往 Gemini Enterprise

  2. 選取專案。

  3. 按一下要向代理程式註冊的應用程式名稱。

  4. 依序點選「代理程式」>「 新增代理程式」。 系統會顯示「選擇代理類型」窗格。

  5. 在「透過 Dialogflow 建立的自訂代理」資訊卡上,按一下「新增」,將 Dialogflow 代理註冊至 Gemini Enterprise。「Configuration」(設定) 窗格隨即開啟。

  6. 如要設定代理程式,請按照下列步驟操作:

    1. 在「你的服務專員名稱」欄位中輸入名稱。這個值會顯示於 Gemini Enterprise,做為代理的顯示名稱。

    2. 在「Describe your agent」(說明代理程式) 欄位中輸入說明。LLM 會依據這個值,判斷是否叫用代理來回覆使用者查詢。

    3. 在「Dialogflow agent source」欄位中,輸入要向 Gemini Enterprise 註冊的 Dialogflow 代理資源路徑。

      請使用下列格式: projects/{project}/locations/{location}/agents/{agent}

      系統預設會選取「代理程式可用性」選項的「選取時」

    4. 在「工具設定」部分下方的「工具說明」欄位中輸入說明。LLM 會依據這段說明瞭解工具的用途,並判斷使用時機。

    5. 在「輸入參數名稱」欄位中輸入名稱。這是函式呼叫的參數名稱。這會提供線索,讓 LLM 瞭解參數應包含的內容類型,例如 questioncommandsearch_query

    6. 在「Input parameter description」(輸入參數說明) 欄位中輸入說明。 這是函式呼叫的參數說明,可讓 LLM 進一步瞭解參數,例如預計傳入的內容類型,以及應執行的操作。

    7. 點選「建立」

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:圖示的公開 URI,會顯示在 Dialogflow 代理程式名稱旁。您也可以在 icon.content 中提供 Base64 編碼的圖片。
  • DIALOGFLOW_PROJECT_ID: Google Cloud 專案 ID,用於識別 Dialogflow 服務專員的位置。
  • DIALOGFLOW_LOCATION:Dialogflow 代理程式的代管地理位置,例如 globalus-central1
  • DIALOGFLOW_AGENT_ID:Dialogflow 服務專員的專屬 ID。

如果這項指令成功執行,回應會傳回新建立的 Dialogflow 代理資源的所有欄位,包括名稱欄位中的專屬資源名稱。這個資源名稱可用於日後的更新或參照。

列出與應用程式連結的代理程式

下列程式碼範例說明如何取得連線至應用程式的所有代理程式詳細資料:

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- 適用於歐盟多區域
    • 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- 適用於歐盟多區域
    • 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:圖示的公開 URI,會顯示在 Dialogflow 代理程式名稱旁。您也可以在 icon.content 中提供 Base64 編碼的圖片。
  • REASONING_ENGINE_LOCATION:您要建立代理程式的推理引擎雲端位置。
  • DIALOGFLOW_AGENT_ID:Dialogflow 服務專員的專屬 ID。

刪除 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- 適用於歐盟多區域
    • global- 全球位置
    詳情請參閱「為資料儲存庫指定多區域」。
  • PROJECT_ID: Google Cloud 專案的 ID。
  • LOCATION:應用程式的多區域: globaluseu
  • APP_ID:Gemini Enterprise 應用程式的 ID。
  • AGENT_ID:代理程式的 ID。如要找出代理程式 ID,請列出連結至應用程式的代理程式