本文說明如何使用 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 的記錄功能
選取下列其中一個選項:
主控台
請確認您已在專案中啟用 Cloud Logging API。
請確認您具備擁有訂閱項目的專案的下列身分與存取權管理權限:
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
在 API 控制台中,前往「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。
請確認您具備擁有訂閱項目的專案的下列身分與存取權管理權限:
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 中繼資料記錄。
執行下列指令建立設定:
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
:請輸入不重複的設定名稱,例如gcalm1
或Gemini 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 }
執行下列指令,建立 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 }
啟用 Gemini Code Assist Standard 和 Enterprise 使用者記錄。
執行下列指令建立設定:
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
:請輸入不重複的設定名稱,例如gcapar1
或Gemini 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 }
執行下列指令,建立 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 的記錄功能
選取下列其中一個選項:
主控台
請確認您具備擁有訂閱項目的專案的下列身分與存取權管理權限:
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
在 API 控制台中,前往「Gemini 管理」頁面。
Gemini for Google Cloud 頁面會載入。
按一下左側導覽選單中的「設定」。
載入「設定」頁面。
按一下「Code Assist 中繼資料的記錄」,即可關閉在專案中使用 Gemini Code Assist Standard 和 Enterprise 時記錄中繼資料的功能。
按一下 [儲存變更]。
API
如要為 Gemini Code Assist Standard 和 Enterprise 啟用記錄功能,請使用 loggingSetting
方法。
請確認您具備擁有訂閱項目的專案的下列身分與存取權管理權限:
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_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
:輸入現有的設定名稱,例如gcalm1
或Gemini 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 }
執行下列指令,停用 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
:輸入現有的設定名稱,例如gcapar1
或Gemini 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 }