Acessar registros do Gemini

Este documento descreve como ativar a coleta e o armazenamento de dados entradas, informações contextuais e respostas ao usar o Gemini para Google Cloud. O Gemini para Google Cloud não coleta nem envia ao Cloud Logging quaisquer outras interações que o usuário possa ter tido com o Gemini para o Google Cloud, incluindo feedback por escrito. Os dados coletados são enviados ao Cloud Logging para armazenamento. Para analisar esses dados, pesquise entradas de registro com o tipo de recurso cloudaicompanion.googleapis.com/Instance.

Esse recurso não registra comandos ou respostas no Gemini na Vertex AI. Para ativar os registros para o Gemini na Vertex AI, consulte Ative os registros de auditoria de acesso a dados.

Os papéis do Identity and Access Management (IAM) controlam a capacidade de um principal de acessar registros. É possível conceder papéis predefinidos aos principais ou criar papéis de segurança na nuvem. Para mais informações sobre as permissões necessárias, consulte Controle de acesso.

Por padrão, o Cloud Logging criptografa o conteúdo do cliente armazenado em repouso. Os dados armazenados em buckets de registro pelo Logging são criptografados usando chaves de criptografia de chaves, um processo conhecido como criptografia de envelope. Para acessar os dados de registro, é preciso ter acesso a essas chaves de criptografia de chaves. Elas são gerenciadas pelo Google sem que você precise realizar nenhuma ação.

Sua organização pode ter requisitos de criptografia regulamentares, relacionados à conformidade ou avançados que nossa criptografia em repouso padrão não oferece. Para atender aos requisitos da sua organização, em vez de deixar que o Google gerencie de criptografia de chaves que protegem seus dados, é possível gerenciar as chaves.

Para informações específicas sobre o uso de chaves de criptografia gerenciadas pelo cliente (CMEK), incluindo vantagens e limitações, consulte Chaves de criptografia gerenciadas pelo cliente.

Limitações

Os dados de registro gravados pelo Gemini no Google Cloud não incluem interações do usuário com os seguintes produtos:
  • Gemini no BigQuery
  • Gemini no Looker
  • Gemini nas Operações de segurança do Google
  • Painel Gemini no console do Google Cloud para a central do banco de dados

Antes de começar

Ativar o Gemini para o Google Cloud Logging

Entre em contato com o suporte do Google Cloud ou com seu representante do Google Cloud com o ID do projeto em que você quer ativar o Gemini para o registro do Google Cloud.

Acessar o Gemini para registros do Google Cloud

Para visualizar os registros do Gemini para Google Cloud, siga um destes procedimentos:

Console do Google Cloud

  1. No console do Google Cloud, acesse a página Análise de registros:

    Acessar a Análise de registros

    Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Logging.

  2. Na barra de ferramentas, selecione um projeto do console do Google Cloud.
  3. Na barra de ferramentas, expanda o menu Todos os recursos e selecione o recurso. Instância do Cloud AI Companion.

Google Cloud CLI

Execute este comando:

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

Exemplos de entradas de registro

Um LogEntry é a unidade básica do os dados no Cloud Logging. As seções a seguir fornecem listas dos campos encontrados no LogEntry para um evento do Gemini para Google Cloud Platform, como solicitações do usuário e do Gemini para respostas do Google Cloud.

Solicitações de usuários

A tabela a seguir mostra uma lista dos campos encontrados em uma entrada de registro de solicitação do usuário.

Campo Valores e observações
LogEntry.resource.type Tipo de recurso do Gemini para o Google Cloud: cloudaicompanion.googleapis.com/Instance.
LogEntry.resource.labels.resource_container ID exclusivo do contêiner de recursos em que o Gemini para Google Cloud foi usado.
LogEntry.resource.labels.location Local em que o Gemini para Google Cloud foi usado.
LogEntry.resource.labels.instance_id ID exclusivo do recurso em que o Gemini para Google Cloud foi usado.
LogEntry.labels.method Pode ser um dos seguintes, dependendo do que invocou logEntry:

CompleteTask: por exemplo, uma solicitação de chat do Gemini Code Assist ou de outro serviço do Gemini para Google Cloud.

GenerateCode: por exemplo, uma solicitação para gerar código, como para uma solicitação de transformação de código no Gemini Code Assist.

CompleteCode: por exemplo, uma solicitação para concluir o código ao trabalhar no ambiente de desenvolvimento integrado, como as sugestões inline do Gemini Code Assist.
LogEntry.labels.product Nome do serviço do Gemini para Google Cloud. Se o produto Gemini para Google Cloud for o Gemini Code Assist, esse valor será code_assist. Caso contrário, esse valor será unknown.
LogEntry.labels.request_id Um identificador exclusivo para correlacionar uma solicitação a uma entrada de registro de resposta.
LogEntry.labels.user_id O identificador do usuário que iniciou essa solicitação.
LogEntry.jsonPayload O payload da entrada de registro.
LogEntry.logName Identifica o registro.

O exemplo a seguir mostra uma entrada de registro de exemplo para um evento de comando 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"
}

Confira abaixo um exemplo de entrada RequestLog para qualquer código de comandos de geração de registros, incluindo comando Gemini para Google Cloud em um arquivo de código, comando ao Gemini para Google Cloud com o código selecionado usando o chat, e sugestão de código inline:

{
  "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"
    "codeGenerationRequest":
      input: {
        prompt: "Generate some great Python for me."
      }
  }
  "logName": "projects/my-project-id/logs/cloudaicompanion.googleapis.com%2Frequest",
  "receiveTimestamp": "2023-11-03T23:27:31.255648319Z"
  "severity": "INFO"
}

Respostas do Gemini para Google Cloud

A tabela a seguir mostra os campos de resposta e as descrições do Gemini para Google Cloud.

Campo Valores e observações
LogEntry.resource.type Gemini para o tipo de recurso do Google Cloud: cloudaicompanion.googleapis.com/Instance.
LogEntry.resource.labels.resource_container ID exclusivo do contêiner de recursos em que o Gemini para Google Cloud foi usado.
LogEntry.resource.labels.location Local em que o Gemini para Google Cloud foi usado.
LogEntry.resource.labels.instance_id ID exclusivo do recurso em que o Gemini para Google Cloud foi usado.
LogEntry.labels.method Pode ser um dos seguintes, dependendo do que invocou logEntry:

CompleteTask: por exemplo, uma solicitação de chat do Gemini Code Assist ou de outro serviço do Gemini para Google Cloud.

GenerateCode: por exemplo, uma solicitação para gerar código, como para uma solicitação de transformação de código no Gemini Code Assist.

CompleteCode: por exemplo, uma solicitação para concluir o código ao trabalhar no ambiente de desenvolvimento integrado, como as sugestões inline do Gemini Code Assist.
LogEntry.labels.product Gemini para o nome do serviço do Google Cloud. Se o produto Gemini para Google Cloud for o Gemini Code Assist, esse valor será code_assist. Caso contrário, o valor será unknown.
LogEntry.labels.request_id Um identificador exclusivo para correlacionar uma solicitação a uma entrada de registro de resposta.
LogEntry.labels.user_id O identificador do usuário que iniciou essa solicitação.
LogEntry.jsonPayload O payload da entrada de registro.
LogEntry.logName Identifica o registro.

A seguir