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

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

限制

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

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

事前準備

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

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

如要設定 Gemini Code Assist Standard 和 Enterprise 記錄,您必須具備特定身分與存取權管理 (IAM) 權限,詳情請參閱下列各節。請務必將這些權限新增至自訂 IAM 角色

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

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

如果您是在 Google Cloud 控制台中設定 Gemini Code Assist Standard 和 Enterprise 版管理員設定,可以略過本節。

如要使用 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. 請確認您在擁有訂閱項目的專案中,具備下列身分與存取權管理 (IAM) 權限:

    • 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. 前往 Google Cloud 控制台的「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. 請確認您在擁有訂閱項目的專案中,具備下列身分與存取權管理 (IAM) 權限:

    • 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 記錄。使用者記錄和中繼資料記錄分別透過 log_prompts_and_responseslog_metadata 欄位啟用。如果您不想啟用其中一個欄位,請將該欄位從要求中排除。

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

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

      更改下列內容:

      • CONTAINER_PROJECT_NAME:輸入儲存繫結資源的專案 ID。這是繫結項目的父專案。
      • LOGS_SETTING_ID:輸入不重複的設定名稱,例如 gcalm

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

      {
        "name": "projects/CONTAINER_PROJECT_NAME/locations/global/loggingSettings/LOGS_SETTING_ID",
        "createTime": "2025-01-23T15:22:49.717166932Z",
        "updateTime": "2025-01-23T15:22:49.717166932Z",
        "log_prompts_and_responses": true,
        "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/LOGS_SETTING_ID/settingBindings?setting_binding_id=LOGS_BINDING_ID"
      

    更改下列內容:

    • TARGET_PROJECT_NAME:輸入要繫結繫結的目標專案。這通常與容器專案相同。不過,您可以將設定繫結至多個專案,這樣就不必複製設定資源。
    • LOGS_BINDING_ID:建立設定時,請使用相同的 LOGS_SETTING_ID,但加上 b1。例如使用 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>LOGS_SETTING_ID</var>/settingBindings/<var>LOGS_BINDING_ID</var>",
        "verb": "create",
        "requestedCancellation": false,
        "apiVersion": "v1"
      },
      "done": false
    }
    

停用 Gemini Code Assist 的記錄功能

選取下列選項之一:

主控台

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

    • 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. 前往 Google Cloud 控制台的「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. 請確認您在擁有訂閱項目的專案中,具備下列身分與存取權管理 (IAM) 權限:

    • 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_prompts_and_responses": false,
          "log_metadata": false,
          } ' \
        "https://cloudaicompanion.googleapis.com/v1/projects/CONTAINER_PROJECT_NAME/locations/global/loggingSettings?logging_metadata_id=LOGS_SETTING_ID"
    

    更改下列內容:

    • CONTAINER_PROJECT_NAME:輸入父專案 ID。
    • LOGS_SETTING_ID:輸入現有的設定名稱,例如 gcalm

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

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

後續步驟