本文說明如何使用 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 專案已連結至帳單帳戶。
(選用) 授予 IAM 權限
如要設定 Gemini Code Assist Standard 和 Enterprise 記錄,您必須具備特定的 Identity and Access Management 權限,詳情請參閱下列章節。請務必將這些權限新增至自訂 IAM 角色。
或者,您也可以授予「Gemini for Google Cloud 設定管理員」 (roles/cloudaicompanion.settingsAdmin
) IAM 預先定義角色,這個角色包含使用所有 Gemini for Google Cloud 管理員設定所需的權限。
設定 Gemini Code Assist 記錄功能
以下各節將說明如何啟用 Gemini Code Assist Standard 和 Enterprise 活動的收集和儲存功能 (透過 Cloud Logging),包括:
Gemini Code Assist Standard 版和 Enterprise 版的提示詞和回覆記錄,例如使用者輸入內容、背景資訊和回覆。
Gemini Code Assist Standard 版和 Enterprise 版的中繼資料記錄,例如遙測中繼資料和使用者接受的程式碼行數。
如要進一步瞭解這兩種記錄,請參閱「查看 Gemini 記錄」。
啟用 Gemini Code Assist 的記錄功能
選取下列其中一個選項:
主控台
確認您已在專案中啟用 Cloud Logging API。
確認您在擁有訂閱項目的專案中,具備下列身分與存取權管理權限:
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
在 API 控制台中,前往「Admin for Gemini」頁面。
系統會載入「Gemini 版 Google Cloud」頁面。
按一下左側導覽選單中的「設定」。
系統會載入「設定」頁面。
(選用) 按一下「記錄 Code Assist 中繼資料」,記錄專案中 Gemini Code Assist Standard 和 Enterprise 使用者產生的中繼資料。
(選用) 按一下「記錄 Code Assist 提示詞和回覆」,記錄專案中 Gemini Code Assist Standard 版和 Enterprise 版使用者產生的提示詞和回覆。
按一下 [儲存變更]。
API
如要為 Gemini Code Assist Standard 和 Enterprise 啟用記錄功能,請使用 loggingSettings
資源定義所需記錄設定,並使用 loggingSettings.settingBindings
資源將設定繫結至專案:
確認您已在專案中啟用 Cloud Logging API。
確認您在擁有訂閱項目的專案中,具備下列身分與存取權管理權限:
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
建立設定和設定專屬值:
取得權杖:
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 的記錄功能
選取下列其中一個選項:
主控台
確認您在擁有訂閱項目的專案中,具備下列身分與存取權管理權限:
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
在 API 控制台中,前往「Admin for Gemini」頁面。
系統會載入「Gemini 版 Google Cloud」頁面。
按一下左側導覽選單中的「設定」。
系統會載入「設定」頁面。
按一下「記錄 Code Assist 中繼資料」,即可關閉記錄專案中 Gemini Code Assist Standard 和 Enterprise 的使用情形中繼資料。
按一下 [儲存變更]。
API
如要停用 Gemini Code Assist Standard 和 Enterprise 的記錄功能,請使用 loggingSetting
方法。
確認您在擁有訂閱項目的專案中,具備下列身分與存取權管理權限:
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
建立設定和設定專屬值:
取得權杖:
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 }