本文档介绍了如何使用 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 日志记录,您可以授予 Gemini for Google Cloud Settings Admin (roles/cloudaicompanion.settingsAdmin
) Identity and Access Management 预定义角色,该角色包含使用所有 Gemini for Google Cloud 管理员设置所需的所有权限。
或者,您也可以更新任何自定义 IAM 角色。您必须拥有特定 IAM 权限,以下部分将详细介绍这些权限。
配置 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 权限:
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 控制台中,前往 Gemini 管理中心页面。
系统会加载 Gemini for 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。
验证您是否在拥有订阅的项目中拥有以下 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
设置项及其专用值:
获取令牌:
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 权限:
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 控制台中,前往 Gemini 管理中心页面。
系统会加载 Gemini for Google Cloud 页面。
点击左侧导航菜单中的设置。
系统会加载设置页面。
点击 Code Assist 元数据的日志记录,以停止记录此项目中对 Gemini Code Assist Standard 和 Enterprise 的使用所生成的元数据。
点击保存更改。
API
如需为 Gemini Code Assist Standard 和 Enterprise 停用日志记录,请使用 loggingSetting
方法。
验证您是否在拥有订阅的项目中拥有以下 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
设置项及其专用值:
获取令牌:
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 }