Ce document explique comment activer la collecte et le stockage des entrées utilisateur, des informations contextuelles et des réponses lorsque vous utilisez Gemini pour Google Cloud. Gemini pour Google Cloud ne collecte ni n'envoie à Cloud Logging aucune autre interaction utilisateur qu'il aurait pu avoir avec Gemini pour Google Cloud, y compris les commentaires écrits. Les données collectées sont envoyées à Cloud Logging pour être stockées. Vous pouvez consulter ces données en recherchant des entrées de journal avec le type de ressource cloudaicompanion.googleapis.com/Instance
.
Cette fonctionnalité ne consigne pas les requêtes ni les réponses dans Gemini dans Vertex AI. Pour activer les journaux pour Gemini dans Vertex AI, consultez la section Activer les journaux d'audit des accès aux données.
Les rôles IAM (Identity and Access Management) contrôlent la possibilité pour un principal d'accéder aux journaux. Vous pouvez attribuer des rôles prédéfinis aux principaux ou créer des rôles personnalisés. Pour en savoir plus sur les autorisations requises, consultez la section Contrôle des accès.
Par défaut, Cloud Logging chiffre le contenu client stocké au repos. Les données stockées dans des buckets de journaux par Logging sont chiffrées à l'aide de clés de chiffrement de clés, un processus appelé chiffrement encapsulé. L'accès à vos données de journalisation nécessite l'accès à ces clés de chiffrement de clé, qui sont gérées par Google gère sans aucune action de votre part.
Votre organisation peut avoir des exigences de chiffrement réglementaires, de conformité ou avancées que notre chiffrement au repos par défaut ne fournit pas. Pour répondre aux exigences de votre organisation, vous pouvez gérer vos clés au lieu de laisser Google gérer les clés de chiffrement qui protègent vos données.
Pour en savoir plus sur l'utilisation des clés de chiffrement gérées par le client (CMEK), y compris leurs avantages et leurs limites, consultez la page Clés de chiffrement gérées par le client.
Limites
Les données de journal enregistrées par Gemini dans Google Cloud n'incluent pas les interactions des utilisateurs avec les produits suivants :- Gemini dans BigQuery
- Gemini dans Looker
- Gemini dans Google Security Operations
- Volet Gemini dans la console Google Cloud pour Database Center
Avant de commencer
-
Pour obtenir les autorisations nécessaires pour afficher les journaux Gemini pour Google Cloud, demandez à votre administrateur de vous accorder le rôle IAM Lecteur de journaux (
roles/logging.viewer
) sur votre projet. Pour en savoir plus sur l'attribution de rôles, consultez la page Gérer l'accès aux projets, aux dossiers et aux organisations.Vous pouvez également obtenir les autorisations requises via des rôles personnalisés ou d'autres rôles prédéfinis.
Consultez les tarifs de Cloud Logging et les tarifs de Gemini pour Google Cloud avant d'activer la journalisation Gemini pour Google Cloud.
Activer Gemini pour la journalisation Google Cloud
Contactez l'assistance Google Cloud ou votre représentant Google Cloud en indiquant l'ID du projet pour lequel vous souhaitez activer Gemini pour la journalisation Google Cloud.
Afficher les journaux Gemini pour Google Cloud
Pour afficher les journaux Gemini pour Google Cloud, procédez comme suit:
Console Google Cloud
-
Dans la console Google Cloud, accédez à la page Explorateur de journaux.
Accéder à l'explorateur de journaux
Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Logging.
- Dans la barre d'outils, sélectionnez un projet de la console Google Cloud.
- Dans la barre d'outils, développez le menu Toutes les ressources, puis sélectionnez la ressource Instance associée Cloud AI.
Google Cloud CLI
Exécutez la commande suivante :
gcloud logging read "resource.type=cloudaicompanion.googleapis.com/Instance" --project PROJECT_ID --limit 3
Exemples d'entrées de journal
Un LogEntry
est l'unité de base des données dans Cloud Logging. Les sections suivantes fournissent des listes de champs trouvés dans LogEntry
pour un événement de plate-forme Gemini pour Google Cloud, tels que les requêtes utilisateur et les réponses Gemini pour Google Cloud.
Demandes des utilisateurs
Le tableau suivant présente la liste des champs trouvés dans une entrée de journal de requête utilisateur.
Champ | Valeurs et notes |
---|---|
LogEntry.resource.type |
Type de ressource de Gemini pour Google Cloud: cloudaicompanion.googleapis.com/Instance . |
LogEntry.resource.labels.resource_container |
ID unique du conteneur de ressources dans lequel Gemini pour Google Cloud a été utilisé. |
LogEntry.resource.labels.location |
Emplacement où Gemini pour Google Cloud a été utilisé. |
LogEntry.resource.labels.instance_id |
ID unique de la ressource dans laquelle Gemini pour Google Cloud a été utilisé. |
LogEntry.labels.method |
Peut être l'un des éléments suivants, en fonction de ce qui a appelé logEntry :CompleteTask : par exemple, une requête de chat provenant de Gemini Code Assist ou d'un autre service Gemini pour Google Cloud.GenerateCode : par exemple, une requête de génération de code, comme une requête de transformation de code dans Gemini Code Assist.CompleteCode : par exemple, une requête de finalisation du code lorsque vous travaillez dans l'IDE, comme avec les suggestions intégrées dans Gemini Code Assist. |
LogEntry.labels.product |
Nom du service Gemini pour Google Cloud. Si le produit Gemini pour Google Cloud est Gemini Code Assist, cette valeur est code_assist . Sinon, cette valeur est unknown . |
LogEntry.labels.request_id |
Identifiant unique permettant de mettre en corrélation une requête avec une entrée de journal de réponse. |
LogEntry.labels.user_id |
Identifiant de l'utilisateur à l'origine de cette requête. |
LogEntry.jsonPayload |
Charge utile de l'entrée de journal. |
LogEntry.logName |
Identifie le journal. |
L'exemple suivant montre une entrée de journal pour un événement d'invite 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"
}
L'exemple suivant montre une entrée RequestLog
pour les invites de suggestion de code en ligne automatiques et l'invite Gemini pour Google Cloud dans un fichier de code.
Les données d'invite pour les suggestions de code intégrées utilisent l'objet codeCompletionRequest
(comme illustré dans l'exemple suivant), tandis que la génération déclenchée manuellement utilise 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"
}
Réponses de Gemini pour Google Cloud
Le tableau suivant présente les champs et les descriptions de réponse de Gemini pour Google Cloud.
Champ | Valeurs et notes |
---|---|
LogEntry.resource.type |
Type de ressource Gemini pour Google Cloud: cloudaicompanion.googleapis.com/Instance . |
LogEntry.resource.labels.resource_container |
ID unique du conteneur de ressources dans lequel Gemini pour Google Cloud a été utilisé. |
LogEntry.resource.labels.location |
Emplacement où Gemini pour Google Cloud a été utilisé. |
LogEntry.resource.labels.instance_id |
ID unique de la ressource dans laquelle Gemini pour Google Cloud a été utilisé. |
LogEntry.labels.method |
Peut être l'un des éléments suivants, en fonction de ce qui a appelé logEntry :CompleteTask : par exemple, une requête de chat provenant de Gemini Code Assist ou d'un autre service Gemini pour Google Cloud.GenerateCode : par exemple, une requête de génération de code, comme une requête de transformation de code dans Gemini Code Assist.CompleteCode : par exemple, une requête de finalisation du code lorsque vous travaillez dans l'IDE, comme avec les suggestions intégrées dans Gemini Code Assist. |
LogEntry.labels.product |
Nom du service Gemini pour Google Cloud. Si le produit Gemini pour Google Cloud est Gemini Code Assist, cette valeur est code_assist . Sinon, cette valeur est unknown . |
LogEntry.labels.request_id |
Identifiant unique permettant de mettre en corrélation une requête avec une entrée de journal de réponse. |
LogEntry.labels.user_id |
Identifiant de l'utilisateur à l'origine de cette requête. |
LogEntry.jsonPayload |
Charge utile de l'entrée de journal. Toutes les citations de sources utilisées pour générer la réponse sont incluses dans cet objet en tant que attribution_context . |
LogEntry.logName |
Identifie le journal. |
Étape suivante
- Découvrez comment afficher, analyser et surveiller vos journaux dans Google Cloud.
- Découvrez comment surveiller l'utilisation de Gemini pour Google Cloud.