本文說明如何使用 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 的記錄功能
選取下列選項之一:
主控台
請確認您已在專案中啟用 Cloud Logging API。
請確認您在擁有訂閱項目的專案中,具備下列身分與存取權管理 (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
前往 Google Cloud 控制台的「Gemini 管理員」頁面。
Gemini for Google Cloud 頁面會載入。
按一下左側導覽選單中的「設定」。
載入「設定」頁面。
(選用) 按一下「Logging for Code Assist metadata」,記錄專案中 Gemini Code Assist Standard 和 Enterprise 使用者產生的中繼資料。
(選用) 按一下「Code Assist 提示詞和回覆的記錄」,即可記錄專案中 Gemini Code Assist Standard 和 Enterprise 使用者產生的提示詞和回覆。
按一下 [儲存變更]。
API
如要為 Gemini Code Assist Standard 和 Enterprise 啟用記錄功能,請使用 loggingSetting
方法。
請確認您已在專案中啟用 Cloud Logging API。
請確認您在擁有訂閱項目的專案中,具備下列身分與存取權管理 (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
建立設定和特定設定值:
取得權杖:
TOKEN=$(gcloud auth print-access-token)
啟用 Gemini Code Assist Standard 和 Enterprise 記錄。使用者記錄和中繼資料記錄分別透過
log_prompts_and_responses
和log_metadata
欄位啟用。如果您不想啟用其中一個欄位,請將該欄位從要求中排除。執行下列指令建立設定:
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_responses
和log_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 }
執行下列指令,建立 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 的記錄功能
選取下列選項之一:
主控台
請確認您在擁有訂閱項目的專案中,具備下列身分與存取權管理 (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
前往 Google Cloud 控制台的「Gemini 管理員」頁面。
Gemini for Google Cloud 頁面會載入。
按一下左側導覽選單中的「設定」。
載入「設定」頁面。
按一下「Code Assist 中繼資料的記錄」,即可關閉在專案中使用 Gemini Code Assist Standard 和 Enterprise 時記錄中繼資料的功能。
按一下 [儲存變更]。
API
如要停用 Gemini Code Assist Standard 和 Enterprise 的記錄功能,請使用 loggingSetting
方法。
請確認您在擁有訂閱項目的專案中,具備下列身分與存取權管理 (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
建立設定和特定設定值:
取得權杖:
TOKEN=$(gcloud auth print-access-token)
執行下列指令,停用 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_responses
和log_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 }