Consulta los registros de Gemini

En este documento, se describe cómo puedes habilitar la recopilación y el almacenamiento de entradas, información contextual y respuestas del usuario cuando usas Gemini para Google Cloud. Gemini para Google Cloud no recopila ni envía a Cloud Logging ninguna otra interacción que el usuario pueda haber tenido con Gemini para Google Cloud, incluidos los comentarios escritos. Los datos recopilados se envían a Cloud Logging para su almacenamiento. Para revisar estos datos, busca entradas de registro con el tipo de recurso cloudaicompanion.googleapis.com/Instance.

Esta función no registra instrucciones ni respuestas dentro de Gemini en Vertex AI. Para habilitar los registros de Gemini en Vertex AI, consulta Habilita los registros de auditoría de acceso a los datos.

Los roles de Identity and Access Management (IAM) controlan la capacidad de un principal para acceder a los registros. Puedes otorgar roles predefinidos a las principales o crear roles personalizados. Para obtener más información sobre los permisos obligatorios, consulta Control de acceso.

De forma predeterminada, Cloud Logging encripta el contenido del cliente almacenado en reposo. Los datos que Logging almacena en los buckets de registros se encriptan con claves de encriptación de claves, un proceso conocido como encriptación de sobre. Acceder a tus datos de registro requiere acceso a esas claves de encriptación de claves, que Google administra sin que tengas que realizar ninguna acción.

Tu organización puede tener requisitos de encriptación avanzados, regulatorios o relacionados con el cumplimiento que nuestra encriptación en reposo predeterminada no proporciona. Para cumplir con los requisitos de tu organización, en lugar de que Google administre las claves de encriptación que protegen tus datos, puedes administrar tus claves.

Para obtener información específica sobre el uso de las claves de encriptación administradas por el cliente (CMEK), incluidas las ventajas y limitaciones, consulta Claves de encriptación administradas por el cliente.

Limitaciones

Los datos de registro que registra Gemini en Google Cloud no incluyen las interacciones de los usuarios con los siguientes productos:
  • Gemini en BigQuery
  • Gemini en Looker
  • Gemini en Google Security Operations
  • Panel de Gemini en la consola de Google Cloud para Database Center

Antes de comenzar

Habilita Gemini para el registro de Google Cloud

Comunícate con el equipo de asistencia de Google Cloud o con tu representante de Google Cloud con el ID del proyecto para el que deseas habilitar Gemini para el registro de Google Cloud.

Cómo ver los registros de Gemini para Google Cloud

Para ver los registros de Gemini para Google Cloud, realiza una de las siguientes acciones:

Consola de Google Cloud

  1. En la consola de Google Cloud, ve a la página Explorador de registros.

    Ir al Explorador de registros

    Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Logging.

  2. En la barra de herramientas, selecciona un proyecto de la consola de Google Cloud.
  3. En la barra de herramientas, expande el menú Todos los recursos y selecciona el recurso Instancia complementaria de Cloud AI.

Google Cloud CLI

Ejecuta el siguiente comando:

gcloud logging read "resource.type=cloudaicompanion.googleapis.com/Instance" --project PROJECT_ID  --limit 3

Ejemplos de entradas de registro

Un LogEntry es la unidad básica de datos en Cloud Logging. En las siguientes secciones, se proporcionan listas de campos que se encuentran en LogEntry para un evento de la plataforma de Gemini para Google Cloud, como solicitudes del usuario y respuestas de Gemini para Google Cloud.

Solicitudes del usuario

En la siguiente tabla, se muestra una lista de los campos que se encuentran en una entrada de registro de solicitudes del usuario.

Campo Valores y notas
LogEntry.resource.type Tipo de recurso de Gemini para Google Cloud: cloudaicompanion.googleapis.com/Instance.
LogEntry.resource.labels.resource_container Es el ID único del contenedor de recursos en el que se usó Gemini para Google Cloud.
LogEntry.resource.labels.location Ubicación en la que se usó Gemini para Google Cloud
LogEntry.resource.labels.instance_id Es el ID único del recurso en el que se usó Gemini para Google Cloud.
LogEntry.labels.method Puede ser uno de los siguientes, según lo que invocó logEntry:

CompleteTask: por ejemplo, una solicitud de chat de Gemini Code Assist o de otro servicio de Gemini para Google Cloud.

GenerateCode: por ejemplo, una solicitud para generar código, como con una solicitud de transformación de código en Gemini Code Assist.

CompleteCode: por ejemplo, una solicitud para completar el código cuando se trabaja en el IDE, como con las sugerencias intercaladas en Gemini Code Assist.
LogEntry.labels.product Es el nombre del servicio de Gemini para Google Cloud. Si el producto de Gemini para Google Cloud es Gemini Code Assist, este valor es code_assist. De lo contrario, este valor es unknown.
LogEntry.labels.request_id Es un identificador único para correlacionar una solicitud con una entrada de registro de respuesta.
LogEntry.labels.user_id El identificador del usuario que inició esta solicitud.
LogEntry.jsonPayload La carga útil de la entrada de registro.
LogEntry.logName Identifica el registro.

En el siguiente ejemplo, se muestra una entrada de registro de ejemplo para un evento de instrucción de chat.

{
  "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"
}

En el siguiente ejemplo, se muestra una entrada RequestLog de ejemplo para las instrucciones automáticas de sugerencia de código intercalado y solicitar Gemini para Google Cloud en un archivo de código.

Los datos de instrucciones para las sugerencias de código intercalado usan el objeto codeCompletionRequest (como se muestra en el siguiente ejemplo), mientras que la generación activada de forma manual usa 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"
}

Respuestas de Gemini para Google Cloud

En la siguiente tabla, se muestran los campos de respuesta y las descripciones de Gemini para Google Cloud.

Campo Valores y notas
LogEntry.resource.type Tipo de recurso de Gemini para Google Cloud: cloudaicompanion.googleapis.com/Instance.
LogEntry.resource.labels.resource_container Es el ID único del contenedor de recursos en el que se usó Gemini para Google Cloud.
LogEntry.resource.labels.location Ubicación en la que se usó Gemini para Google Cloud
LogEntry.resource.labels.instance_id Es el ID único del recurso en el que se usó Gemini para Google Cloud.
LogEntry.labels.method Puede ser uno de los siguientes, según lo que invocó logEntry:

CompleteTask: por ejemplo, una solicitud de chat de Gemini Code Assist o de otro servicio de Gemini para Google Cloud.

GenerateCode: por ejemplo, una solicitud para generar código, como con una solicitud de transformación de código en Gemini Code Assist.

CompleteCode: por ejemplo, una solicitud para completar el código cuando se trabaja en el IDE, como con las sugerencias intercaladas en Gemini Code Assist.
LogEntry.labels.product Es el nombre del servicio de Gemini para Google Cloud. Si el producto de Gemini para Google Cloud es Gemini Code Assist, este valor es code_assist. De lo contrario, este valor es unknown.
LogEntry.labels.request_id Es un identificador único para correlacionar una solicitud con una entrada de registro de respuesta.
LogEntry.labels.user_id El identificador del usuario que inició esta solicitud.
LogEntry.jsonPayload La carga útil de la entrada de registro. Cualquier cita de fuente que se use para generar la respuesta se incluye en este objeto como attribution_context.
LogEntry.logName Identifica el registro.

¿Qué sigue?