本文档介绍了在使用 Google Cloud 专用 Gemini 时,如何启用收集和存储用户输入、情境信息和回答的功能。Gemini for Google Cloud 不会收集或发送用户与 Gemini for Google Cloud 可能进行的任何其他互动,包括书面反馈。收集的数据会发送到 Cloud Logging 进行存储。您可以搜索资源类型为 cloudaicompanion.googleapis.com/Instance
的日志条目,以查看此类数据。
此功能不会记录 Vertex AI 中 Gemini 中的提示或回答。如需在 Vertex AI 中为 Gemini 启用日志,请参阅启用数据访问审核日志。
Identity and Access Management (IAM) 角色用于控制主账号访问日志的权限。您可以向主账号授予预定义角色,也可以创建自定义角色。如需详细了解所需权限,请参阅访问权限控制。
默认情况下,Cloud Logging 会对以静态方式存储的客户内容进行加密。Logging 存储在日志分桶中的数据使用密钥加密密钥进行加密,此过程称为“信封加密”。访问日志记录数据需要访问这些密钥加密密钥,Google 会为您管理这些密钥,您无需执行任何操作。
您的组织可能具有我们的默认静态加密不提供的监管、合规性相关或高级加密要求。为满足贵组织的要求,您可以管理加密密钥,而不是由 Google 管理用于保护您的数据的加密密钥。
如需详细了解客户管理的加密密钥 (CMEK) 的使用(包括优点和限制),请参阅 CMEK。
限制
Google Cloud 中的 Gemini 记录的日志数据不包括用户与以下产品的互动:- Gemini in BigQuery
- Gemini in Looker
- Google Security Operations 中的 Gemini
- Google Cloud 控制台中适用于数据库中心的 Gemini 窗格
准备工作
-
如需获得查看 Google Cloud 日志的 Gemini 所需的权限,请让您的管理员向您授予项目的 Logs Viewer (
roles/logging.viewer
) IAM 角色。 如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。 在启用 Gemini for Google Cloud 日志记录之前,请先查看 Cloud Logging 价格和 Gemini for Google Cloud 价格。
为 Google Cloud 日志记录启用 Gemini
与 Google Cloud 支持团队或您的 Google Cloud 代表联系,并提供您要为其启用 Gemini 的 Google Cloud 日志记录的项目 ID。
查看 Gemini for Google Cloud 日志
如需查看 Gemini for Google Cloud 日志,请执行以下操作之一:
Google Cloud 控制台
-
在 Google Cloud 控制台中,转到 Logs Explorer 页面。
如果您使用搜索栏查找此页面,请选择子标题为 Logging 的结果。
- 在工具栏中,选择一个 Google Cloud 控制台项目。
- 在工具栏中,展开所有资源菜单,然后选择资源 Cloud AI 同伴实例。
Google Cloud CLI
运行以下命令:
gcloud logging read "resource.type=cloudaicompanion.googleapis.com/Instance" --project PROJECT_ID --limit 3
示例日志条目
LogEntry
是 Cloud Logging 中的数据基本单位。以下部分列出了 Gemini for Google Cloud 平台事件的 LogEntry
中找到的字段,例如用户请求和 Gemini for Google Cloud 响应。
用户请求数量
下表列出了用户请求日志条目中包含的字段。
字段 | 值和备注 |
---|---|
LogEntry.resource.type |
适用于 Google Cloud 的 Gemini 的资源类型:cloudaicompanion.googleapis.com/Instance 。 |
LogEntry.resource.labels.resource_container |
使用 Gemini for Google Cloud 的资源容器的唯一 ID。 |
LogEntry.resource.labels.location |
使用 Gemini for Google Cloud 的位置。 |
LogEntry.resource.labels.instance_id |
使用 Gemini for Google Cloud 的资源的唯一 ID。 |
LogEntry.labels.method |
可以是以下任一项,具体取决于调用了 logEntry 的操作:CompleteTask :例如,来自 Gemini Code Assist 或其他 Gemini for Google Cloud 服务的聊天请求。GenerateCode :例如,生成代码的请求,例如 Gemini Code Assist 中的代码转换请求。CompleteCode :例如,在 IDE 中工作时补全代码的请求,例如 Gemini Code Assist 中的内嵌建议。 |
LogEntry.labels.product |
Gemini for Google Cloud 服务名称。如果 Gemini for Google Cloud 产品为 Gemini Code Assist,则此值为 code_assist 。否则,此值为 unknown 。 |
LogEntry.labels.request_id |
用于将请求与响应日志条目相关联的唯一标识符。 |
LogEntry.labels.user_id |
发起此请求的用户的标识符。 |
LogEntry.jsonPayload |
日志条目的载荷。 |
LogEntry.logName |
标识日志。 |
以下示例展示了聊天提示事件的日志条目示例。
{
"insertId": "654581e30003b19e340bbd96",
"resource": {
"type": "cloudaicompanion.googleapis.com/Instance",
"labels": {
instance_id: "default"
location: "global"
resource_container: "my-project-id"
}
},
"timestamp": "2023-11-03T23:27:31.242078Z",
"labels": {
"product": "code_assist",
"request_id": "4ea1e265-ea5d-4d11-b3c8-39bad9c96326"
"user_id": "my-user@example.com"
},
"jsonPayload" : {
@type: "type.googleapis.com/google.cloud.cloudaicompanion.logging.v1.RequestLog"
"taskCompletionRequest":
input: {
messages: [{
author: "USER"
content: "What are some best practices to save cost on my Google Cloud bill?"
}]
preamble: ""
}
}
"logName": "projects/my-project-id/logs/cloudaicompanion.googleapis.com%2Frequest",
"receiveTimestamp": "2023-11-03T23:27:31.255648319Z"
"severity": "INFO"
}
以下示例展示了自动内嵌代码建议提示和在代码文件中提示 Gemini for Google Cloud 的示例 RequestLog
条目。
内嵌代码建议的提示数据使用 codeCompletionRequest
对象(如以下示例所示),而手动触发的生成使用 codeGenerationRequest
。
{
"insertId": "654581e30003b19e340bbd96",
"resource": {
"type": "cloudaicompanion.googleapis.com/Instance",
"labels": {
instance_id: "default"
location: "global"
resource_container: "my-project-id"
}
},
"timestamp": "2023-11-03T23:27:31.242078Z",
"labels": {
"product": "code_assist",
"request_id": "4ea1e265-ea5d-4d11-b3c8-39bad9c96326"
"user_id": "my-user@example.com"
},
"jsonPayload" : {
@type: "type.googleapis.com/google.cloud.cloudaicompanion.logging.v1.RequestLog"
"codeCompletionRequest": {
"input_data_context": {
"additional_context": {
"files": [
{
"path": "{/path/to/../current-file.go",
"segments": [
{
"content": "...Prefix Text..."
},
{
"content": "...Suffix Text..."
}
],
"state": ["EDITED"]
},
{
"path": "/path/to/../recent-file.go",
"segments": [
{
"content": "...File Text..."
}
],
"state": ["RECENTLY_OPENED"]
}
]
}
}
}
}
"logName": "projects/my-project-id/logs/cloudaicompanion.googleapis.com%2Frequest",
"receiveTimestamp": "2023-11-03T23:27:31.255648319Z"
"severity": "INFO"
}
Gemini for Google Cloud 回答
下表显示了 Gemini for Google Cloud 响应字段和说明。
字段 | 值和备注 |
---|---|
LogEntry.resource.type |
适用于 Google Cloud 的 Gemini 的资源类型:cloudaicompanion.googleapis.com/Instance 。 |
LogEntry.resource.labels.resource_container |
使用 Gemini for Google Cloud 的资源容器的唯一 ID。 |
LogEntry.resource.labels.location |
使用 Gemini for Google Cloud 的位置。 |
LogEntry.resource.labels.instance_id |
使用 Gemini for Google Cloud 的资源的唯一 ID。 |
LogEntry.labels.method |
可以是以下任一项,具体取决于调用了 logEntry 的操作:CompleteTask :例如,来自 Gemini Code Assist 或其他 Gemini for Google Cloud 服务的聊天请求。GenerateCode :例如,生成代码的请求,例如 Gemini Code Assist 中的代码转换请求。CompleteCode :例如,在 IDE 中工作时补全代码的请求,例如 Gemini Code Assist 中的内嵌建议。 |
LogEntry.labels.product |
Gemini for Google Cloud 服务名称。如果 Gemini for Google Cloud 产品为 Gemini Code Assist,则此值为 code_assist 。否则,此值为 unknown 。 |
LogEntry.labels.request_id |
用于将请求与响应日志条目相关联的唯一标识符。 |
LogEntry.labels.user_id |
发起此请求的用户的标识符。 |
LogEntry.jsonPayload |
日志条目的载荷。用于生成回答的所有来源引文都作为 attribution_context 包含在此对象中。 |
LogEntry.logName |
标识日志。 |