設定 Gemini Code Assist Standard 和 Enterprise 的記錄功能

本文說明如何使用 Google API 控制台或 API,為專案設定 Gemini Code Assist Standard 和 Enterprise 記錄功能。

限制

在 Google Cloud 中,Gemini Standard 和 Enterprise 的記錄資料僅限於使用者與 IDE 中 Gemini Code Assist 的互動情形。

此外,如果使用者關閉 VS Code 追蹤記錄,Gemini for Google Cloud 就不會記錄 Gemini Code Assist Standard 和 Enterprise 的資料。

事前準備

確認 Google Cloud 專案已連結至帳單帳戶。

(選用) 授予身分與存取權管理權限

如要設定 Gemini Code Assist Standard 和 Enterprise 的記錄功能,您必須具備特定的 Identity and Access Management 權限,詳情請參閱下文。請務必將這些權限新增至自訂 IAM 角色

或者,您也可以授予 Gemini for Google Cloud 設定管理員 (roles/cloudaicompanion.settingsAdmin) 這個 IAM 預先定義角色,其中包含所有 Gemini for Google Cloud 管理員設定所需的權限。

(選用) 將權限繫結至設定和目標

如果您要在 Google API 控制台中設定 Gemini Code Assist Standard 和企業管理員設定,請略過本節。

如要使用 Gemini for Google Cloud API 設定 Gemini Code Assist Standard 和 Enterprise 管理員設定,您必須先建立設定,然後再建立綁定,以便「綁定」特定產品 (例如 Gemini Cloud Assist 或 Gemini Code Assist) 的這些設定和目標 (例如執行個體、主題或專案)。

所有建立及更新設定的權限皆為專案層級。

設定 Gemini Code Assist 記錄功能

以下各節說明在 Cloud Logging 中啟用 Gemini Code Assist Standard 和 Enterprise 活動收集和儲存功能的必要步驟,包括:

  • Gemini Code Assist Standard 和 Enterprise 的提示和回覆記錄,例如使用者輸入內容、背景資訊和回覆。

  • Gemini Code Assist Standard 和 Enterprise 中繼資料記錄,例如使用者接受的遙測中繼資料和程式碼行。

如要進一步瞭解這兩種記錄類型,請參閱「查看 Gemini 記錄」。

啟用 Gemini Code Assist 的記錄功能

選取下列其中一個選項:

主控台

  1. 請確認您已在專案中啟用 Cloud Logging API。

  2. 請確認您具備擁有訂閱項目的專案的下列身分與存取權管理權限:

    • loggingSettings.create
    • loggingSettings.list
    • loggingSettings.update
    • loggingSettings.get
    • cloudaicompanion.instances.loggingSettings.use
    • cloudaicompanion.instances.queryEffectiveSetting
    • settingBindings.loggingSettingsList
    • settingBindings.loggingSettingsGet
    • settingBindings.loggingSettingsUpdate
    • settingBindings.loggingSettingsCreate
    • cloudaicompanion.settingBindings.loggingSettingsUse
    • cloudaicompanion.instances.queryEffectiveSettingBindings
  3. 在 API 控制台中,前往「Gemini 管理」頁面。

    前往 Gemini 版 Google Cloud

    Gemini for Google Cloud 頁面會載入。

  4. 按一下左側導覽選單中的「設定」

    載入「設定」頁面。

  5. (選用) 按一下「Logging for Code Assist metadata」,記錄專案中 Gemini Code Assist Standard 和 Enterprise 使用者產生的中繼資料。

  6. (選用) 按一下「Code Assist 提示和回覆的記錄」,即可記錄專案中 Gemini Code Assist Standard 和 Enterprise 使用者產生的提示和回覆。

  7. 按一下 [儲存變更]。

API

如要為 Gemini Code Assist Standard 和 Enterprise 啟用記錄功能,請使用 loggingSetting 方法。

  1. 請確認您已在專案中啟用 Cloud Logging API。

  2. 請確認您具備擁有訂閱項目的專案的下列身分與存取權管理權限:

    • loggingSettings.create
    • loggingSettings.list
    • loggingSettings.update
    • loggingSettings.get
    • cloudaicompanion.instances.loggingSettings.use
    • cloudaicompanion.instances.queryEffectiveSetting
    • settingBindings.loggingSettingsList
    • settingBindings.loggingSettingsGet
    • settingBindings.loggingSettingsUpdate
    • settingBindings.loggingSettingsCreate
    • cloudaicompanion.settingBindings.loggingSettingsUse
    • cloudaicompanion.instances.queryEffectiveSettingBindings
  3. 建立設定和特定設定值:

    1. 取得權杖:

      TOKEN=$(gcloud auth print-access-token)
      
  4. 啟用 Gemini Code Assist Standard 和 Enterprise 中繼資料記錄。

    1. 執行下列指令建立設定:

      curl -X POST \
        -H "Authorization: Bearer $TOKEN" \
        -H 'Content-Type: application/json' \
        -d '{
          "log_metadata": true,
          } ' \
        "https://cloudaicompanion.googleapis.com/v1/projects/CONTAINER_PROJECT_NAME/locations/global/loggingSettings?logging_setting_id=SETTING_ID"
      

      更改下列內容:

      • CONTAINER_PROJECT_NAME:輸入父專案 ID。
      • SETTING_ID:請輸入不重複的設定名稱,例如 gcalm1Gemini Code Assist log metadata

      如果指令成功,則會傳回回應主體,顯示 log_metadata 已設為 true

      {
        "name": "projects/CONTAINER_PROJECT_NAME/locations/global/loggingSettings/SETTING_ID",
        "createTime": "2025-01-23T15:22:49.717166932Z",
        "updateTime": "2025-01-23T15:22:49.717166932Z",
        "log_metadata": true
      }
      
    2. 執行下列指令,建立 Gemini Code Assist Standard 和 Enterprise 中繼資料記錄設定繫結:

      curl -X POST \
        -H "Authorization: Bearer $TOKEN" \
        -H 'Content-Type: application/json' \
        -d '{
          "target": "projects/TARGET_PROJECT_NAME"
          }' \
        "https://cloudaicompanion.googleapis.com/v1/projects/CONTAINER_PROJECT_NAME/locations/global/loggingSettings/SETTING_ID/settingBindings?setting_binding_id=BINDING_ID"
      

    更改下列內容:

    • TARGET_PROJECT_NAME:輸入應套用設定的目標專案。
    • SETTING_ID:請使用建立設定時使用的 SETTING_ID,但在後方加上 b1。例如,將 Gemini Code Assist log metadata 用於 gcalmb1

    如果指令成功執行,則會以以下格式傳回作業中繼資料:

    {
      "name": "projects/<var>CONTAINER_PROJECT_NAME</var>/locations/global/operations/operation-1737646069712-62c6140bb04bb-49261230-43701daf",
      "metadata": {
        "@type": "type.googleapis.com/google.cloud.cloudaicompanion.v1.OperationMetadata",
        "createTime": "2025-01-23T15:27:50.076075570Z",
        "target": "projects/<var>TARGET_PROJECT_NAME</var>/locations/global/loggingSettings/<var>SETTING_ID</var>/settingBindings/<var>BINDING_ID</var>",
        "verb": "create",
        "requestedCancellation": false,
        "apiVersion": "v1"
      },
      "done": false
    }
    
  5. 啟用 Gemini Code Assist Standard 和 Enterprise 使用者記錄。

    1. 執行下列指令建立設定:

      curl -X POST \
        -H "Authorization: Bearer $TOKEN" \
        -H 'Content-Type: application/json' \
        -d '{
          "log_prompts_and_responses": true,
          } ' \
        "https://cloudaicompanion.googleapis.com/v1/projects/CONTAINER_PROJECT_NAME/locations/global/loggingSettings?logging_setting_id=SETTING_ID"
      

      更改下列內容:

      • CONTAINER_PROJECT_NAME:輸入父專案 ID。
      • SETTING_ID:請輸入不重複的設定名稱,例如 gcapar1Gemini Code Assist prompts and responses

      如果指令成功,則會傳回回應主體,顯示 log_prompts_and_responses 已設為 true

      {
        "name": "projects/CONTAINER_PROJECT_NAME/locations/global/loggingSettings/SETTING_ID",
        "createTime": "2025-01-23T15:22:49.717166932Z",
        "updateTime": "2025-01-23T15:22:49.717166932Z",
        "log_prompts_and_responses": true
      }
      
    2. 執行下列指令,建立 Gemini Code Assist Standard 和 Enterprise 使用者記錄設定繫結:

      curl \
        -H "Authorization: Bearer $TOKEN" \
        -H 'Content-Type: application/json' \
        -d '{
          "target": "projects/TARGET_PROJECT_NAME"
          }' \
        "https://cloudaicompanion.googleapis.com/v1/projects/CONTAINER_PROJECT_NAME/locations/global/loggingSettings/SETTING_ID/settingBindings?setting_binding_id=BINDING_ID"
      

    更改下列內容:

    • TARGET_PROJECT_NAME:輸入應套用設定的目標專案。
    • SETTING_ID:請使用建立設定時使用的 SETTING_ID,但在後方加上 b1。例如,將 Gemini Code Assist prompts and responses 用於 gcaparb1

    如果指令成功執行,則會以以下格式傳回作業中繼資料:

    {
      "name": "projects/<var>CONTAINER_PROJECT_NAME</var>/locations/global/operations/operation-1737646069712-62c6140bb04bb-49261230-43701daf",
      "metadata": {
        "@type": "type.googleapis.com/google.cloud.cloudaicompanion.v1.OperationMetadata",
        "createTime": "2025-01-23T15:27:50.076075570Z",
        "target": "projects/<var>TARGET_PROJECT_NAME</var>/locations/global/loggingSettings/<var>SETTING_ID</var>/settingBindings/<var>BINDING_ID</var>",
        "verb": "create",
        "requestedCancellation": false,
        "apiVersion": "v1"
      },
      "done": false
    }
    

停用 Gemini Code Assist 的記錄功能

選取下列其中一個選項:

主控台

  1. 請確認您具備擁有訂閱項目的專案的下列身分與存取權管理權限:

    • loggingSettings.delete
    • loggingSettings.list
    • loggingSettings.update
    • loggingSettings.get
    • cloudaicompanion.instances.loggingSettings.use
    • cloudaicompanion.instances.queryEffectiveSetting
    • settingBindings.loggingSettingsList
    • settingBindings.loggingSettingsGet
    • settingBindings.loggingSettingsUpdate
    • settingBindings.loggingSettingsDelete
    • cloudaicompanion.settingBindings.loggingSettingsUse
    • cloudaicompanion.instances.queryEffectiveSettingBindings
  2. 在 API 控制台中,前往「Gemini 管理」頁面。

    前往 Gemini 版 Google Cloud

    Gemini for Google Cloud 頁面會載入。

  3. 按一下左側導覽選單中的「設定」

    載入「設定」頁面。

  4. 按一下「Code Assist 中繼資料的記錄」,即可關閉在專案中使用 Gemini Code Assist Standard 和 Enterprise 時記錄中繼資料的功能。

  5. 按一下 [儲存變更]。

API

如要為 Gemini Code Assist Standard 和 Enterprise 啟用記錄功能,請使用 loggingSetting 方法。

  1. 請確認您具備擁有訂閱項目的專案的下列身分與存取權管理權限:

    • loggingSettings.create
    • loggingSettings.list
    • loggingSettings.update
    • loggingSettings.get
    • cloudaicompanion.instances.loggingSettings.use
    • cloudaicompanion.instances.queryEffectiveSetting
    • settingBindings.loggingSettingsList
    • settingBindings.loggingSettingsGet
    • settingBindings.loggingSettingsUpdate
    • settingBindings.loggingSettingsCreate
    • serviceusage.services.enable
  2. 建立設定和特定設定值:

    1. 取得權杖:

      TOKEN=$(gcloud auth print-access-token)
      
  3. 執行下列指令,停用 Gemini Code Assist Standard 和 Enterprise 中繼資料記錄設定:

      curl -X POST \
        -H "Authorization: Bearer $TOKEN" \
        -H 'Content-Type: application/json' \
        -d '{
          "log_metadata": false,
          } ' \
        "https://cloudaicompanion.googleapis.com/v1/projects/CONTAINER_PROJECT_NAME/locations/global/loggingSettings?logging_metadata_id=SETTING_ID"
    

    更改下列內容:

    • CONTAINER_PROJECT_NAME:輸入父專案 ID。
    • SETTING_ID:輸入現有的設定名稱,例如 gcalm1Gemini Code Assist log metadata

      如果指令成功,則會傳回回應主體,顯示 log_metadata 已設為 false

      {
        "name": "projects/CONTAINER_PROJECT_NAME/locations/global/loggingSettings/SETTING_ID",
        "createTime": "2025-01-23T15:22:49.717166932Z",
        "updateTime": "2025-01-23T15:22:49.717166932Z",
        "log_metadata": false
      }
      
  4. 執行下列指令,停用 Gemini Code Assist Standard 和 Enterprise 使用者記錄設定:

      curl -X POST \
        -H "Authorization: Bearer $TOKEN" \
        -H 'Content-Type: application/json' \
        -d '{
          "log_prompts_and_responses": false,
          } ' \
        "https://cloudaicompanion.googleapis.com/v1/projects/CONTAINER_PROJECT_NAME/locations/global/loggingSettings?logging_setting_id=SETTING_ID"
    

    更改下列內容:

    • CONTAINER_PROJECT_NAME:輸入父專案 ID。
    • SETTING_ID:輸入現有的設定名稱,例如 gcapar1Gemini Code Assist prompts and responses

      如果指令成功,則會傳回回應主體,顯示 log_prompts_and_responses 已設為 false

      {
        "name": "projects/CONTAINER_PROJECT_NAME/locations/global/loggingSettings/SETTING_ID",
        "createTime": "2025-01-23T15:22:49.717166932Z",
        "updateTime": "2025-01-23T15:22:49.717166932Z",
        "log_prompts_and_responses": false
      }
      

後續步驟