本文档介绍了如何使用 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) 权限,这些权限在以下部分中进行了详细说明。请确保将这些权限添加到自定义 IAM 角色。
或者,您也可以授予 Gemini for Google Cloud 设置管理员 (roles/cloudaicompanion.settingsAdmin
) IAM 预定义角色,该角色包含处理所有 Gemini for Google Cloud 管理员设置所需的所有权限。
(可选)将权限绑定到设置和目标
如果您在 Google API 控制台中配置 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。
确保您在拥有订阅的项目中拥有以下 Identity and Access Management (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
在 API 控制台中,前往 Gemini 管理中心页面。
系统会加载 Gemini for Google Cloud 页面。
点击左侧导航菜单中的设置。
系统会加载设置页面。
(可选)点击 Logging for Code Assist metadata(为 Code Assist 元数据记录日志),以记录项目中 Gemini Code Assist Standard 和 Enterprise 用户生成的元数据。
(可选)点击 Code Assist 提示和回答的日志记录,以记录项目中 Gemini Code Assist Standard 和 Enterprise 用户生成的提示和回答。
点击保存更改。
API
如需为 Gemini Code Assist Standard 和 Enterprise 启用日志记录,请使用 loggingSetting
方法。
确保您已在项目中启用 Cloud Logging API。
确保您在拥有订阅的项目中拥有以下 Identity and Access Management (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 元数据日志。
运行以下命令以创建设置:
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 的日志记录
选择以下某个选项:
控制台
确保您在拥有订阅的项目中拥有以下 Identity and Access Management (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
在 API 控制台中,前往 Gemini 管理中心页面。
系统会加载 Gemini for Google Cloud 页面。
点击左侧导航菜单中的设置。
系统会加载设置页面。
点击 Code Assist 元数据的日志记录,关闭记录项目中 Gemini Code Assist Standard 和 Enterprise 使用情况的元数据。
点击保存更改。
API
如需为 Gemini Code Assist Standard 和 Enterprise 启用日志记录,请使用 loggingSetting
方法。
确保您在拥有订阅的项目中拥有以下 Identity and Access Management (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_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 }