В этом документе описывается, как настроить ведение журнала Gemini Code Assist Standard и Enterprise для проекта с помощью Google API Console или API.
Ограничения
Запись данных журнала Gemini Standard и Enterprise в Google Cloud ограничивается взаимодействием пользователя с Gemini Code Assist в среде IDE.
Кроме того, Gemini для Google Cloud не регистрирует данные для Gemini Code Assist Standard и Enterprise, если телеметрия VS Code отключена пользователем.
Прежде чем начать
Убедитесь, что ваш проект Google Cloud привязан к платежному аккаунту.
(Необязательно) Предоставьте разрешения IAM
Для настройки ведения журнала Gemini Code Assist Standard и Enterprise у вас должны быть определенные разрешения Identity and Access Management, которые подробно описаны в следующих разделах. Убедитесь, что эти разрешения добавлены в пользовательские роли IAM .
В качестве альтернативы вы можете предоставить администратору настроек Gemini для Google Cloud ( roles/cloudaicompanion.settingsAdmin
) предопределенную роль IAM, которая включает все требуемые разрешения, необходимые для работы со всеми настройками администратора Gemini для Google Cloud.
(Необязательно) Привязка разрешений к настройкам и целям
Если вы настраиваете параметры администратора Gemini Code Assist Standard и Enterprise в консоли Google API, то вы можете пропустить этот раздел.
Чтобы настроить параметры администратора Gemini Code Assist Standard и Enterprise с помощью API Gemini для Google Cloud , необходимо сначала создать параметры, а затем создать привязки для «связывания» этих параметров и целей (например, экземпляра, темы или проектов) для определенных продуктов (например, Gemini Cloud Assist или Gemini Code Assist).
Все разрешения на создание и обновление настроек находятся на уровне проекта.
Настройка ведения журнала Gemini Code Assist
В следующих разделах приведены шаги, необходимые для включения сбора и хранения активности Gemini Code Assist Standard и Enterprise в Cloud Logging, в том числе:
Журналы запросов и ответов Gemini Code Assist Standard и Enterprise, такие как пользовательский ввод, контекстная информация и ответы.
Журналы метаданных Gemini Code Assist Standard и Enterprise, такие как метаданные телеметрии и строки кода, принятые пользователем.
Более подробную информацию об обоих типах журналов см. в разделе Просмотр журналов Gemini .
Включить ведение журнала для Gemini Code Assist
Выберите один из следующих вариантов:
Консоль
Убедитесь, что в проекте включен 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 для Google Cloud
Загрузится страница Gemini для Google Cloud .
Нажмите «Настройки» в левом навигационном меню.
Загрузится страница настроек .
(Необязательно) Нажмите «Ведение журнала для метаданных Code Assist», чтобы записывать метаданные, созданные пользователями Gemini Code Assist Standard и Enterprise в проекте.
(Необязательно) Щелкните «Ведение журнала запросов и ответов Code Assist», чтобы регистрировать запросы и ответы, сгенерированные пользователями Gemini Code Assist Standard и Enterprise в проекте.
Нажмите Сохранить изменения .
API
Чтобы включить ведение журнала для Gemini Code Assist Standard и Enterprise, используйте метод loggingSetting
.
Убедитесь, что в проекте включен 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
: введите идентификатор родительского проекта. -
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
. Например, используйтеgcalmb1
дляGemini Code Assist log metadata
.
Если команда выполнена успешно, она возвращает метаданные операции в следующем формате:
{ "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
: введите идентификатор родительского проекта. -
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
. Например, используйтеgcaparb1
дляGemini Code Assist prompts and responses
.
Если команда выполнена успешно, она возвращает метаданные операции в следующем формате:
{ "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 для Google Cloud
Загрузится страница Gemini для 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
: введите идентификатор родительского проекта. 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
: введите идентификатор родительского проекта. 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 }
-