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

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

限制

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

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

事前準備

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

驗證 IAM 權限

如要設定 Gemini Code Assist Standard 和 Enterprise 記錄,您可以授予「Gemini for Google Cloud 設定管理員」 (roles/cloudaicompanion.settingsAdmin) Identity and Access Management (IAM) 預先定義角色,其中包含使用所有 Gemini for Google Cloud管理員設定所需的所有權限。

或者,您也可以更新任何自訂 IAM 角色。您必須具備特定的 IAM 權限,詳情請參閱下列章節。

設定 Gemini Code Assist 記錄功能

以下各節將說明如何啟用 Gemini Code Assist Standard 和 Enterprise 活動的收集和儲存功能 (透過 Cloud Logging),包括:

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

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

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

啟用 Gemini Code Assist 的記錄功能

選取下列選項之一:

主控台

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

  2. 確認您在擁有訂閱項目的專案中,具備下列 IAM 權限:

    • instance.queryEffectiveSetting
    • instance.queryEffectiveSettingBindings
    • 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 for Google Cloud

    系統會載入「Gemini for Google Cloud」頁面。

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

    載入「設定」頁面。

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

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

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

API

如要為 Gemini Code Assist Standard 和 Enterprise 啟用記錄功能,請使用 loggingSettings 資源定義所需記錄設定,並使用 loggingSettings.settingBindings 資源將設定繫結至專案:

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

  2. 確認您在擁有訂閱項目的專案中,具備下列 IAM 權限:

    • instance.queryEffectiveSetting
    • instance.queryEffectiveSettingBindings
    • 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 權限:

    • instance.queryEffectiveSetting
    • instance.queryEffectiveSettingBindings
    • 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 for 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 權限:

    • instance.queryEffectiveSetting
    • instance.queryEffectiveSettingBindings
    • 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
      }
      

後續步驟