Dans ce guide, vous allez apprendre à afficher les journaux d'utilisation de l'API Gemini dans le tableau de bord Google AI Studio pour mieux comprendre le comportement du modèle et la façon dont les utilisateurs interagissent avec vos applications. Utilisez la journalisation pour observer, déboguer et éventuellement partager des commentaires sur l'utilisation avec Google afin d'aider à améliorer Gemini pour les cas d'utilisation des développeurs*.
Tous les appels d'API GenerateContent, BatchGenerateContent et StreamGenerateContent, ainsi que les appels d'API Interactions, à l'exclusion des agents gérés, sont acceptés. Cela inclut les appels effectués via les points de terminaison de compatibilité OpenAI.
Configurer la journalisation du projet
Par défaut, l'API Interactions et l'API Generate Content stockent les requêtes (store=true). Pour l'API Interactions, cela active également les fonctionnalités de gestion de l'état côté serveur.
Dans Google AI Studio, vous pouvez activer ou désactiver le stockage pour des projets individuels et modifier ces préférences à tout moment via le panneau Paramètres de votre tableau de bord des journaux de l'API Gemini. Vous pouvez activer ou désactiver la journalisation indépendamment pour l'API generateContent et l'API Interactions afin de modifier le comportement de stockage par défaut d'un projet.
Journalisation au niveau de la requête
Les deux API stockent les requêtes par défaut (store=true) :
- API Interactions : stocke les requêtes par défaut pour simplifier la gestion de l'état côté serveur.
- API Generate Content (
generateContent,streamGenerateContentetbatchGenerateContent) : stocke les requêtes par défaut pour les projets créés à partir du 26 octobre 2026. Les projets créés avant cette date ne stockent pas les requêtes par défaut (store=false), sauf si la journalisation est activée dans AI Studio.
La propriété store au niveau de la requête est prioritaire sur le paramètre au niveau du projet. La définition de store sur les requêtes de l'API Generate Content nécessite google-genai 2.33.0 ou version ultérieure pour Python, @google/genai 2.31.0 ou version ultérieure pour JavaScript, google-genai 1.79.0 ou version ultérieure pour Java et google.golang.org/genai 1.76.0 ou version ultérieure pour Go. Voici comment définir la propriété store :
API GenerateContent
Python
from google import genai
client = genai.Client()
response = client.models.generate_content(
model='gemini-3.8-flash',
contents='Explain quantum entanglement in simple terms.',
config={'store': True} # Set to False to disable logging of this request
)
print(response.text)
JavaScript
import { GoogleGenAI } from '@google/genai';
const client = new GoogleGenAI({});
const response = await client.models.generateContent({
model: 'gemini-3.8-flash',
contents: 'Explain quantum entanglement in simple terms.',
config: {
store: true // Set to false to disable logging of this request
}
});
console.log(response.text);
Java
import com.google.genai.Client;
import com.google.genai.types.GenerateContentConfig;
import com.google.genai.types.GenerateContentResponse;
Client client = new Client();
GenerateContentResponse response =
client.models.generateContent(
"gemini-3.8-flash",
"Explain quantum entanglement in simple terms.",
GenerateContentConfig.builder()
.store(true) // Set to false to disable logging of this request
.build());
System.out.println(response.text());
Go
package main
import (
"context"
"fmt"
"log"
"google.golang.org/genai"
)
func main() {
ctx := context.Background()
client, err := genai.NewClient(ctx, nil)
if err != nil {
log.Fatal(err)
}
response, err := client.Models.GenerateContent(
ctx,
"gemini-3.8-flash",
genai.Text("Explain quantum entanglement in simple terms."),
&genai.GenerateContentConfig{
Store: genai.Ptr(true), // Set to false to disable logging of this request
},
)
if err != nil {
log.Fatal(err)
}
fmt.Println(response.Text())
}
API Interactions
Python
from google import genai
client = genai.Client()
interaction = client.interactions.create(
model="gemini-3.8-flash",
input="Explain quantum entanglement in simple terms.",
store=True # Set to False to disable logging of this request
)
print(interaction.outputs[-1].text)
JavaScript
import { GoogleGenAI } from '@google/genai';
const client = new GoogleGenAI({});
const interaction = await client.interactions.create({
model: 'gemini-3.8-flash',
input: 'Explain quantum entanglement in simple terms.',
store: true // Set to false to disable logging of this request
});
console.log(interaction.outputs[interaction.outputs.length - 1].text);
Java
import com.google.genai.Client;
import com.google.genai.gaos.models.interactions.CreateModelInteraction;
import com.google.genai.gaos.models.interactions.Interaction;
import com.google.genai.gaos.models.interactions.InteractionsInput;
import com.google.genai.gaos.models.interactions.Model;
import com.google.genai.gaos.models.operations.CreateInteractionRequestBody;
Client client = new Client();
CreateModelInteraction params =
CreateModelInteraction.builder()
.model(Model.of("gemini-3.8-flash"))
.input(InteractionsInput.of("Explain quantum entanglement in simple terms."))
.store(true) // Set to false to disable logging of this request
.build();
Interaction interaction =
client.interactions.create(CreateInteractionRequestBody.of(params)).interaction().get();
System.out.println(interaction.outputText().orElse(""));
Go
package main
import (
"context"
"fmt"
"log"
"google.golang.org/genai"
"google.golang.org/genai/interactions/models/interactions"
"google.golang.org/genai/interactions/models/operations"
)
func main() {
ctx := context.Background()
client, err := genai.NewClient(ctx, nil)
if err != nil {
log.Fatal(err)
}
res, err := client.Interactions.Create(ctx, operations.CreateInteractionRequest{
Body: operations.NewCreateInteractionRequestBody(interactions.CreateModelInteraction{
Model: interactions.Model("gemini-3.8-flash"),
Input: interactions.NewInteractionsInput("Explain quantum entanglement in simple terms."),
Store: genai.Ptr(true), // Set to false to disable logging of this request
}),
})
if err != nil {
log.Fatal(err)
}
if res.Interaction.OutputText != nil {
fmt.Println(*res.Interaction.OutputText)
}
}
Afficher les journaux du projet dans AI Studio
- Accédez à la page "Journaux" dans AI Studio.
- Sélectionnez un projet dans le menu déroulant.
- Les journaux s'affichent dans le tableau dans l'ordre chronologique inverse, s'ils existent.
- Pour les projets créés avant le 26 octobre 2026, commencez par activer la journalisation de l'API Generate Content dans le panneau des paramètres pour observer les journaux du projet pour l'API Generate Content.
Cliquez sur une entrée pour afficher un aperçu de la charge utile. Vous pouvez inspecter l'intégralité de la requête et de la réponse de Gemini, ainsi que le contexte des tours précédents. Pour les requêtes de l'API Interactions, les journaux incluent également un lien direct vers previous_interaction_id.
Configurer la conservation du stockage du projet
Les journaux expirent et sont marqués pour suppression après une période de conservation par défaut de 55 jours (sauf s'ils sont enregistrés dans un ensemble de données, auquel cas ils n'expirent pas). Vous pouvez configurer la période de conservation des journaux d'un projet sur 7, 14, 28 ou 55 jours maximum.
Créer et partager des ensembles de données
Vous pouvez enregistrer les journaux dans des ensembles de données pour les organiser et les exporter plus efficacement.
- Sur la page "Journaux", recherchez la barre de filtre en haut pour sélectionner une propriété à utiliser pour le filtrage.
- Dans la vue filtrée, cochez les cases pour sélectionner tous les journaux ou certains d'entre eux.
- Cliquez sur le bouton Créer un ensemble de données qui s'affiche en haut de la liste.
- Attribuez un nom et éventuellement une description à votre nouvel ensemble de données.
- L'ensemble de données que vous venez de créer s'affiche avec l'ensemble de journaux organisé.
- Exportez votre ensemble de données pour une analyse plus approfondie au format CSV ou JSONL, ou vers Google Sheets.
Les ensembles de données peuvent être utiles dans de nombreux cas d'utilisation.
- Organiser des ensembles de défis : apportez des améliorations futures ciblant les domaines dans lesquels vous souhaitez que votre IA s'améliore.
- Organiser des ensembles d'exemples : par exemple, un échantillon d'utilisation réelle pour générer des réponses à partir d'un autre modèle, ou une collection de cas limites pour des vérifications de routine avant le déploiement.
- Ensembles d'évaluation : ensembles représentatifs de l'utilisation réelle de fonctionnalités importantes, pour une comparaison entre d'autres modèles ou itérations d'instructions système.
Vous pouvez contribuer à la recherche et au développement de Gemini en choisissant de partager vos ensembles de données avec Google en tant qu'exemples de démonstration.
Limites
La journalisation n'est actuellement pas disponible pour les éléments suivants :
- Modèles Imagen et Veo
- Modèles d'embedding Gemini
- Modèle Gemini Robotics
- Entrées contenant des vidéos, des GIF ou des PDF
- Agents en version Preview publique dans l'API Gemini
Étape suivante
- Créer un prototype avec l'historique de session : utilisez AI Studio Build pour créer des applications en vibe coding et ajoutez votre clé API pour activer un historique des journaux de l'API Gemini pour les fonctionnalités d'IA.
- Réexécuter des journaux avec l'API Gemini Batch : utilisez des ensembles de données pour l'échantillonnage des réponses et l'évaluation des modèles ou de la logique d'application en réexécutant des journaux avec l'API Gemini Batch.